Robot apparatus, assembling method, and recording medium

ABSTRACT

A robot apparatus includes a gripping unit configured to grip a first component, a force sensor configured to detect, as detection values, a force and a moment acting on the gripping unit, a storing unit having stored therein contact states of the first component and a second component and transition information in association with each other, a selecting unit configured to discriminate, on the basis of the detection values, a contact state of the first component and the second component and select, on the basis of a result of the discrimination, the transition state stored in the storing unit, and a control unit configured to control the gripping unit on the basis of the transition information selected by the selecting unit.

BACKGROUND

1. Technical Field

The present invention relates to a robot apparatus, an assemblingmethod, and an assembling program.

2. Related Art

In a manufacturing process for an electronic apparatus, most of work inassembly is automated. In this automated manufacturing line, theassembly is performed using a robot. For example, a manufacturingapparatus for the robot is controlled to insert a second component intoa first component.

JP-A-7-241733 (Patent Literature 1) is an example of related art.

However, in the technique disclosed in Patent Literature 1, when anobject is fit in a hole-shaped part, contact surfaces of the object andthe hole-shaped part are respectively chamfered. Therefore, in thetechnique disclosed in Patent Literature 1, when the fitting cannot berealized while being affected by a force and a moment caused by thecontact, assembly work cannot be performed.

SUMMARY

An advantage of some aspects of the invention is to provide a robotapparatus, an assembling method, and an assembling program that canperform fitting of components even if contact surfaces are notchamfered.

[1] An aspect of the invention is directed to a robot apparatusincluding: a gripping unit configured to grip a first component; a forcesensor configured to detect, as detection values, a force and a momentacting on the gripping unit; a storing unit having stored thereincontact states of the first component and a second component andtransition information in association with each other; a selecting unitconfigured to discriminate, on the basis of the detection values, acontact state of the first component and the second component andselect, on the basis of a result of the discrimination, the transitionstate stored in the storing unit; and a control unit configured tocontrol the gripping unit on the basis of the transition informationselected by the selecting unit.

With such a configuration, the robot apparatus can determine a contactstate of the first component and the second component on the basis ofthe detection values of the force sensor. The robot apparatus cantransition, for each of the contact states of the first component andthe second component, the contact state of the first component and thesecond component on the basis of transition information having the nexttarget state stored therein. Therefore, the robot apparatus can performfitting of the components even if contact surfaces are not chamfered.

[2] In the robot apparatus described above, the transition informationmay include information for sequentially transitioning the firstcomponent to set the first component in a first contact state with thesecond component, after the first contact state, set the first componentin a second contact state with the second component, after the secondcontact state, set the first component in a third contact state with asurface of a hole of the second component, and, after the third contactstate, attach the first component to the hole of the second componentalong a surface on which the hole of the second component is provided.

With such a configuration, the robot apparatus can control the firstcomponent to be fit in the hole of the second component using transitioninformation corresponding to the contact state of the first componentand the second component. Therefore, the robot apparatus can performfitting of the components even if contact surfaces are not chamfered.For example, the first contact state is a state in which the firstcomponent and the second component are in point contact with each other,the second contact state is a state in which the first component and thesecond component are in point contact with each other at two or morepoints on a straight line, and the third contact state is a state inwhich the first component and the second component are in point contactwith each other at two or more points on the same surface.

[3] In the robot apparatus described above, in the storing unit, aplurality of sets of first detection values, which are the detectionvalues detected in advance, and the contact states may be stored inassociation with each other and a plurality of sets of the transitioninformation and control values for controlling the gripping unit may bestored in association with each other. The control unit may select, onthe basis of the transition information selected by the selecting unit,the control value stored in the storing unit and control the grippingunit using the selected control value.

[4] In the robot apparatus described above, the selecting unit maycompare the detection values and the first detection values stored inthe storing unit and discriminate the contact state of the firstcomponent and the second component on the basis of a result of thecomparison.

With such a configuration, the robot apparatus can reduce a computationamount for discriminating the contact state of the first component andthe second component.

[5] The robot apparatus described above may further include adiscretizing unit configured to discretize the detection values. Thediscretizing unit may discretize the first detection values for each ofthe contact states of the first component and the second component inadvance, cause the storing unit to store the first detection values assecond detection values, which are detection values after thediscretization, and output the detection values after the discretizationobtained by discretizing the detection values to the selecting unitduring control of the contact state of the first component and thesecond component. The selecting unit may compare the detection valuesafter the discretization and the second detection values anddiscriminate the contact state of the first component and the secondcomponent.

[6] In the robot apparatus described above, the discretizing unit mayternarize the detection values in an object coordinate system withrespect to the first component and ternarize the detection values in anabsolute coordinate system with respect to the second component.

[7] In the robot apparatus described above, when there are a pluralityof the second detection values coinciding with the detection valuesafter the discretization, the selecting unit may compare the detectionvalues and the first detection values and discriminate the contact stateof the first component and the second component on the basis of a resultof the component.

[8] In the robot apparatus described above, in the storing unit, thirddetection values, which are detection values after discretization of thefirst detection values in the absolute coordinate system, fourthdetection values, which are detection values after discretization of thefirst detection values in the object coordinate system, the firstdetection values, a plurality of kinds of the transition information,and a plurality of the control values may be stored in association withone another for each of the contact states. In the absolute coordinatesystem, when the detection values after the discretization and the thirddetection values are compared, if there are a plurality of the thirddetection values coinciding with the detection values after thediscretization, the selecting unit may compare the detection valuesafter the discretization in the object coordinate system and the fourthdetection values and discriminate the contact state of the firstcomponent and the second component on the basis of a result of thecomparison.

[9] The robot apparatus described above may further include an imagepickup apparatus configured to pick up an image of the contact state ofthe first component and the second component. The selecting unit mayidentify states of the first component and the second component on thebasis of the image picked up by the image pickup apparatus.

[10] The robot apparatus described above may further include: a firstarm to which the gripping unit is attached; a second arm to which thegripping unit or an image pickup apparatus is attached, the image pickupapparatus being configured to pick up an image of the contact state ofthe first component and the second component; a main body to which thefirst arm and the second arm are attached; and a conveying unit attachedto the main body.

[11] Another aspect of the invention is directed to an assembling methodin a robot apparatus including: allowing a selecting unit todiscriminate, on the basis of detection values output by a force sensordetecting a force and a moment acting on a gripping unit configured togrip a first component, a contact state of the first component and thesecond component, and select, on the basis of a result of thediscrimination, transition information stored in a storing unit inassociation with the contact state; and allowing a control unit tocontrol the gripping unit on the basis of the selected transitioninformation.

[12] Still another aspect of the invention is directed to an assemblingprogram that causes a computer included in a robot apparatus to execute:a step of discriminating, on the basis of a detection values output by aforce sensor detecting a force and a moment acting on a gripping unitconfigured to grip a first component, a contact state of the firstcomponent and the second component and selecting, on the basis of aresult of the discrimination, transition information stored in a storingunit in association with the contact state; and a step of controllingthe gripping unit on the basis of the selected transition information.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be described with reference to the accompanyingdrawings, wherein like numbers reference like elements.

FIG. 1 is a schematic perspective view of a robot according to a firstembodiment.

FIG. 2 is a diagram for explaining detection values of a force sensoraccording to the first embodiment.

FIG. 3 is a block diagram representing a functional configuration of arobot control apparatus according to the first embodiment.

FIG. 4 is a diagram for explaining coordinate systems according to thefirst embodiment.

FIG. 5 is a state transition diagram based on transition informationstored in a table storing unit according to the first embodiment.

FIG. 6 is a diagram showing detection values after discretization ofstates p1 to p8 detected by the force sensor in an absolute coordinatesystem and stored in the table storing unit according to the firstembodiment.

FIG. 7 is a diagram showing detection values after the discretization ofstates s2 to s14 detected by the force sensor in the absolute coordinatesystem or an object coordinate system and stored in the table storingunit according to the first embodiment.

FIG. 8 is a diagram showing detection values after the discretization ofthe states p1 to p8 detected by the force sensor in the objectcoordinate system and stored in the table storing unit according to thefirst embodiment.

FIG. 9 is a diagram for explaining command values stored in the tablestoring unit according to the first embodiment.

FIG. 10 is a flowchart of a procedure for storing a table in the tablestoring unit according to the first embodiment.

FIG. 11 is a flowchart of a procedure for discriminating a contact stateof a first component and a second component and transitioning thecontact state of the first component and the second component accordingto the first embodiment.

FIG. 12 is a diagram for explaining dimensions of a first component anddimensions of a hole of a second component on an xy plane according to asecond embodiment.

FIG. 13 is a diagram for explaining an absolute coordinate system, anobject coordinate system, and vertexes in the first component and thesecond component according to the second embodiment.

FIG. 14 is a state transition diagram based on transition informationstored in a table storing unit according to the second embodiment.

FIG. 15 is a diagram showing detection values after discretization ofstates p101 to p108 detected by a force sensor and stored in the tablestoring unit according to the second embodiment.

FIG. 16 is a diagram showing detection values after the discretizationof states tp101 to tp108 detected by the force sensor in the absolutecoordinate system and stored in the table storing unit according to thesecond embodiment.

FIG. 17 is a diagram showing detection values after the discretizationof states 1101 to 1112 detected by the force sensor in the absolutecoordinate system and stored in the table storing unit according to thesecond embodiment.

FIG. 18 is a diagram showing detection values after the discretizationof states s101 to s110 detected by the force sensor in the absolutecoordinate system and stored in the table storing unit according to thesecond embodiment.

FIG. 19 is a diagram for explaining command values for each of statetransitions from the states p101 to p108 stored in the table storingunit according to the second embodiment.

FIG. 20 is a diagram for explaining command values for each of statetransitions from the states tp101 to tp108 stored in the table storingunit according to the second embodiment.

FIG. 21 is a diagram for explaining command values for each of statetransitions from the states 1102, 1103, 1105, 1106, 1108, 1109, 1111,and 1112 stored in the table storing unit according to the secondembodiment.

FIG. 22 is a diagram for explaining command values for each of statetransitions from the states 1101, 1104, 1107, and 1110 stored in thetable storing unit according to the second embodiment.

FIG. 23 is a diagram for explaining command values for each of statetransitions from the states s101, s102, s103, s104, s105, s106, s107,s108, and s109 stored in the table storing unit according to the secondembodiment.

FIG. 24 is a flowchart of a procedure for discriminating a contact stateof the first component and the second component and transitioning thecontact state of the first component and the second component accordingto the second embodiment.

FIG. 25 is a state transition diagram based on transition informationafter a state in which a vertex E1 of a first component is put in a holestored in a table storing unit according to a third embodiment.

FIG. 26 is a state transition diagram based on transition informationafter a state in which a vertex F1 of the first component is put in thehole stored in the table storing unit according to the third embodiment.

FIG. 27 is a state transition diagram based on transition informationafter a state in which a vertex G1 of the first component is put in thehole stored in the table storing unit according to the third embodiment.

FIG. 28 is a state transition diagram based on transition informationafter a state in which a vertex H1 of the first component is put in thehole stored in the table storing unit according to the third embodiment.

FIG. 29 is a diagram showing detection values after discretization ofstates p201 and p202 detected by a force sensor and stored in the tablestoring unit when an initial posture is the state in which the vertex E1of the first component is put in the hole according to the thirdembodiment.

FIG. 30 is a diagram showing detection values after the discretizationof states tp201 to tp204 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex E1 of the first component is put in the hole according to thethird embodiment.

FIG. 31 is a diagram showing detection values after the discretizationof states 1201 to 1209 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex E1 of the first component is put in the hole according to thethird embodiment.

FIG. 32 is a diagram showing detection values after the discretizationof states s201 to s204 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex E1 of the first component is put in the hole according to thethird embodiment.

FIG. 33 is a diagram showing detection values after the discretizationof states p301 to p303 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex F1 of the first component is put in the hole according to thethird embodiment.

FIG. 34 is a diagram showing detection values after the discretizationof states tp303 and tp304 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex F1 of the first component is put in the hole according to thethird embodiment.

FIG. 35 is a diagram showing detection values after the discretizationof states 1301 to 1308 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex F1 of the first component is put in the hole according to thethird embodiment.

FIG. 36 is a diagram showing detection values after the discretizationof a state s301 detected by the force sensor and stored in the tablestoring unit when the initial posture is the state in which the vertexF1 of the first component is put in the hole according to the thirdembodiment.

FIG. 37 is a diagram showing detection values after the discretizationof states p401 to p403 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex G1 of the first component is put in the hole according to thethird embodiment.

FIG. 38 is a diagram showing detection values after the discretizationof states tp401 and tp402 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex G1 of the first component is put in the hole according to thethird embodiment.

FIG. 39 is a diagram showing detection values after ternarization ofstates 1401 to 1408 detected by the force sensor and stored in the tablestoring unit when the initial posture is the state in which the vertexG1 of the first component is put in the hole according to the thirdembodiment.

FIG. 40 is a diagram showing detection values after the discretizationof a state s401 detected by the force sensor and stored in the tablestoring unit when the initial posture is the state in which the vertexG1 of the first component is put in the hole according to the thirdembodiment.

FIG. 41 is a diagram showing detection values after the discretizationof states p501 to p503 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex H1 of the first component is put in the hole according to thethird embodiment.

FIG. 42 is a diagram showing detection values after the discretizationof states tp501 to tp505 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex H1 of the first component is put in the hole according to thethird embodiment.

FIG. 43 is a diagram showing detection values after the discretizationof states 1503 to 1508 detected by the force sensor and stored in thetable storing unit when the initial posture is the state in which thevertex H1 of the first component is put in the hole according to thethird embodiment.

FIG. 44 is a diagram showing detection values after the discretizationof a state s501 detected by the force sensor and stored in the tablestoring unit when the initial posture is the state in which the vertexH1 of the first component is put in the hole according to the thirdembodiment.

FIG. 45 is a diagram for explaining command values for each of statetransitions from the states p201 and p202 stored in the table storingunit when the initial posture is the state in which the vertex E1 of thefirst component is put in the hole according to the third embodiment.

FIG. 46 is a diagram for explaining command values for each of statetransitions from the states tp201, tp202, and tp204 stored in the tablestoring unit when the initial posture is the state in which the vertexE1 of the first component is put in the hole according to the thirdembodiment.

FIG. 47 is a diagram for explaining command values for each of statetransitions from the states 1201, 1202, 1204, 1208, and 1209 stored inthe table storing unit when the initial posture is the state in whichthe vertex E1 of the first component is put in the hole according to thethird embodiment.

FIG. 48 is a diagram for explaining command values for each of statetransitions from the states s201 and s202 stored in the table storingunit when the initial posture is the state in which the vertex E1 of thefirst component is put in the hole according to the third embodiment.

FIG. 49 is a diagram for explaining command values for each of statetransitions from the states p301, p302 and p303 stored in the tablestoring unit when the initial posture is the state in which the vertexF1 of the first component is put in the hole according to the thirdembodiment.

FIG. 50 is a diagram for explaining command values for each of statetransitions from the states tp303 and tp304 stored in the table storingunit when the initial posture is the state in which the vertex F1 of thefirst component is put in the hole according to the third embodiment.

FIG. 51 is a diagram for explaining command values for each of statetransitions from the states 1301, 1302, and 1308 stored in the tablestoring unit when the initial posture is the state in which the vertexF1 of the first component is put in the hole according to the thirdembodiment.

FIG. 52 is a diagram for explaining command values for each of statetransitions from the states s301, s302, and s303 stored in the tablestoring unit when the initial posture is the state in which the vertexF1 of the first component is put in the hole according to the thirdembodiment.

FIG. 53 is a diagram for explaining command values for each of statetransitions from the states p401 and p402 stored in the table storingunit when the initial posture is the state in which the vertex G1 of thefirst component is put in the hole according to the third embodiment.

FIG. 54 is a diagram for explaining command values for each of statetransitions from the states tp401 and tp402 stored in the table storingunit when the initial posture is the state in which the vertex G1 of thefirst component is put in the hole according to the third embodiment.

FIG. 55 is a diagram for explaining command values for each of statetransitions from the states 1401 and 1408 stored in the table storingunit when the initial posture is the state in which the vertex G1 of thefirst component is put in the hole according to the third embodiment.

FIG. 56 is a diagram for explaining command values for each of statetransitions from the states s401 and s404 stored in the table storingunit when the initial posture is the state in which the vertex G1 of thefirst component is put in the hole according to the third embodiment.

FIG. 57 is a diagram for explaining command values for each of statetransitions from the states p501 and p502 stored in the table storingunit when the initial posture is the state in which the vertex H1 of thefirst component is put in the hole according to the third embodiment.

FIG. 58 is a diagram for explaining command values for each of statetransitions from the states tp501, tp504, and tp505 stored in the tablestoring unit when the initial posture is the state in which the vertexH1 of the first component is put in the hole according to the thirdembodiment.

FIG. 59 is a diagram for explaining command values for each of statetransitions from the states 1503, 1504, and 1508 stored in the tablestoring unit when the initial posture is the state in which the vertexH1 of the first component is put in the hole according to the thirdembodiment.

FIG. 60 is a diagram for explaining command values for each of statetransitions from the states s501 and s503 stored in the table storingunit when the initial posture is the state in which the vertex H1 of thefirst component is put in the hole according to the third embodiment.

FIG. 61 is a flowchart of a procedure for discriminating a contact stateof the first component and the second component and transitioning thecontact state of the first component and the second component accordingto the third embodiment.

FIG. 62 is a schematic perspective view of a robot according to a fourthembodiment.

DESCRIPTION OF EXEMPLARY EMBODIMENTS

Modes for carrying out the invention are explained in detail below withreference to the drawings.

First Embodiment

A robot apparatus according to a first embodiment discriminates, on thebasis of detection values detected by a force sensor, a contact state ofa first component and a second component to be fit in each other andcontrols the contact state of the first component and the secondcomponent on the basis of a result of the discrimination and statetransitions stored in a storing unit.

The robot apparatus according to this embodiment changes the contactstate of the first component and the second component to a first contactstate, changes the contact state to a second contact state after thefirst contact state, and changes the contact state to a third contactstate after the second contact state to fit in the first component andthe second component each other. Further, in the third contact state,the robot apparatus sequentially transitions the first component to beattached to (fit in) a hole of the second component along a surface ofthe first component in contact with the hole of the second component.

FIG. 1 is a schematic perspective view of a robot apparatus 1 accordingto this embodiment.

As shown in FIG. 1, the robot apparatus 1 includes a robot controlapparatus 10 and a multi-joint robot 20.

Scales of components, structures, and the like in FIG. 1 are differentfrom actual scales to clearly show the figure.

The robot control apparatus 10 controls the operation of the multi-jointrobot 20.

The multi-joint robot 20 includes a supporting table 20 a fixed on theground, a manipulator unit 20 b coupled to the supporting table 20 a tobe capable of turning and bending, a gripping unit 20 c coupled to themanipulator unit 20 b to be capable of pivoting and swinging, a forcesensor 20 d, and an image pickup apparatus 30.

The multi-joint robot 20 is, for example, a six-axis verticalmulti-joint robot. The multi-joint robot 20 has a degree of freedom ofsix axes according to actions associated with the supporting table 20 a,the manipulator unit 20 b, and the gripping unit 20 c. The multi-jointrobot 20 can freely change the position and the direction of a componentgripped or held by the griping unit 20 c. In this embodiment, thegripping or holding is explained as “gripping”. The multi-joint robot 20moves any one of or a combination of the manipulator unit 20 b and thegripping unit 20 c according to the control by the robot controlapparatus 10.

The force sensor 20 d detects a force and a moment applied to thegripping unit 20 c. The force sensor 20 d is a six-axis force sensorwhen the degree of freedom of the multi-joint robot 20 is six axes.

The degree of freedom of the multi-joint robot 20 is not limited to thedegree of freedom by the six axes. The supporting table 20 a may be setin a place fixed with respect to the ground such as a floor, a wall, ora ceiling.

Reference numeral 200 denotes a first component (also referred to as“peg” or “stake”) to be combined with a second component 210. The firstcomponent 200 is a rectangular parallelepiped or a cube.

The second component 210 has a hole 211 in which the first component 200is fit. The hole 211 may or may not pierce through the second component210.

As explained below, reference numeral 220 denotes a plane used when acontact state of the first component 200 and the second component 210 isrepresented in a two-dimension.

The contact state of the first component 200 and the second component210 is a form of the first component 200 and the second component 210.The contact state is a state including a state in which the firstcomponent 200 and the second component 210 are in point contact witheach other (a first contact state), a state in which the first component200 and the second component 210 are in line contact with each other (asecond contact state), a state in which the first component 200 and thesecond component 210 are in surface contact with each other (a thirdcontact state), and a state in which the first component 200 is put inthe hole 211. The state in which the first component 200 and the secondcomponent 210 are in line contact with each other is a state in whichthe first component 200 and the second component 210 are in pointcontact with each other at two or more points on a straight line. Thestate in which the first component 200 and the second component 210 arein surface contact with each other is a state in which the firstcomponent 200 and the second component 210 are in point contact witheach other at two or more points on the same surface. The state in whichthe first component 200 and the second component 210 are in pointcontact with each other is, more specifically, for example, as explainedbelow, a state in which a vertex of the first component 200 is incontact with a side or a surface of the second component 210 (the frontsurface of the second component 210, the sides of the hole 211, or thesurfaces of the hole 211).

The image pickup apparatus 30 is set in, for example, a position where afitting state of the first component 200 and the hole 211 of the secondcomponent 210 can be checked. The image pickup apparatus 30 is, forexample, a CCD (Charge Coupled Device) camera. The image pickupapparatus 30 outputs picked-up image data to the robot control apparatus10. The image data picked up by the image pickup apparatus 30 may be ormay not be used for control in this embodiment.

FIG. 2 is a diagram for explaining detection values of the force sensor20 d according to this embodiment.

As shown in FIG. 2, detection values (fx, fy, fz, nx, ny, and nz) of theforce sensor 20 d include six values in total, i.e., forces concerningthree orthogonal axes (fx, fy, and fz) and moments of the axes (nx, ny,and nz). For example, Fx represents a force in the x-axis direction andnx represents a moment in the x-axis direction. The force sensor iscalled inner force sensor as well.

FIG. 3 is a block diagram showing a functional configuration of therobot control apparatus 10 according to this embodiment.

As shown in FIG. 3, the robot control apparatus 10 includes asensor-detection-value acquiring unit 101, a discretizing unit 102, atable storing unit (a storing unit) 103, a selecting unit 104, a controlunit 105, a control storing unit 106, and an image acquiring unit 107.As shown in FIG. 3, the robot control apparatus 10 is connected to themulti-joint robot 20.

The sensor-detection-value acquiring unit 101 acquires detection valuesoutput by the force sensor 20 d and outputs the acquired detectionvalues to the discretizing unit 102. The sensor-detection-valueacquiring unit 101 acquires, during table creation, detection valuesdetected in advance and causes the table storing unit 103 to store theacquired detection values (detection values before discretization,referred to as first detection values).

The discretizing unit 102 discretizes, during the table creation, thedetection values before discretization output by thesensor-detection-value acquiring unit 101 and causes the table storingunit 103 to store the discretized detection values (the detection valuesafter discretization, referred to as second detection values). Forexample, the discretizing unit 102 ternarizes a detection value intothree values (−1, 0, and +1) to discretize the detection value. Thediscretizing unit 102 causes the table storing unit 103 to store thedetection values after the discretization concerning an absolutecoordinate system and an object coordinate system. During the tablecreation, the discretizing unit 102 determines a value to be discretizedaccording to whether an output of the force sensor 20 d is large orsmall with respect to a predetermined threshold taking into account, forexample, the rigidity of an object to be fit, a pressing force appliedto the object, and the position of a compliance center.

The discretizing unit 102 outputs, during assembly processing, thedetection values after discretization to the selecting unit 104. Thedetection values after discretization in the absolute coordinate systemare referred to as third detection values and the detection values afterdiscretization in the object coordinate system are referred to as forthdetection values. The third detection values and the fourth detectionvalues are collectively referred to as second detection values as well.

In the table storing unit 103, combinations of the first detectionvalues, the third detection values, the fourth detection values, andcontact states associated with one another are stored in a table format.In the table storing unit 103, as explained below, transitioninformation for transition from the present contact state to the nexttarget state is stored in association with the contact states. In thetable storing unit 103, as explained below, command values fortransition from the state to the next target state are stored inassociation with the contact states.

During the assembly processing (during control), the selecting unit 104compares the detection values after discretization output by thediscretizing unit 102 and the second detection values stored in thetable storing unit 103. The selecting unit 104 discriminates a contactstate of the first component 200 and the second component 210 on thebasis of a result of the comparison and selects, on the basis of aresult of the discrimination, transition information for transition fromthe present contact state to the next target state out of the transitioninformation stored in the table storing unit 103 in advance. Theselecting unit 104 outputs the selected transition information to thecontrol unit 105.

When discriminating a contact state using image data picked up by theimage pickup apparatus 30 as well, the selecting unit 104 discriminatesa contact state of the first component 200 and the second component 210using image data output by the image acquiring unit 107 as well. Theselecting unit 104 discriminates the contact state of the firstcomponent 200 and the second component 210 on the basis of the imagedata using a well-known image recognition technique.

The control unit 105 reads out, on the basis of the transitioninformation output by the selecting unit 104, command values fortransition from the contact states to the next target states(hereinafter referred to as command values) stored in the table storingunit 103. The control unit 105 controls the manipulator unit 20 b or thegripping unit 20 c of the multi-joint robot 20 on the basis of theread-out command values for transition from the contact states to thenext target states.

In the control storing unit 106, a control program, control values, andthe like for the multi-joint robot 20 are stored.

The image acquiring unit 107 acquires image data picked up by the imagepickup apparatus 30 and outputs the acquired image data to the selectingunit 104.

As explained above, the robot apparatus 1 according to this embodimentincludes the gripping unit 20 c configured to grip the first component200, the force sensor 20 d configured to detect, as detection values, aforce and a moment acting on the gripping unit 20 c, the storing unit(the table storing unit 103) having stored therein contact states ofcontact of the first component 200 and the second component 210 andtransition information in association with each other, the selectingunit 104 configured to discriminate a contact state of the firstcomponent 200 and the second component 210 on the basis of the detectionvalues and select, on the basis of a result of the discrimination,transition information stored in the storing unit (the table storingunit 103), and the control unit 105 configured to control the gripingunit 20 c on the basis of the transition information selected by theselecting unit 104.

With such a configuration, the robot apparatus 1 can determine a contactstate of the first component 200 and a second component 210 on the basisof the detection values of the force sensor 20 d. Further, the robotapparatus 1 can transition, for each of the contact states of the firstcomponent 200 and the second component 210, the contact state of thefirst component 200 and the second component 210 on the basis oftransition information having the next target state stored therein.

The absolute coordinate system and the object coordinate system areexplained.

FIG. 4 is a diagram for explaining coordinate systems according to thisembodiment. In FIG. 4, the first component 200 and the second component210 are shown with respect to the plane 220 shown in FIG. 1.

In FIG. 4, Σ_(o) represents an absolute coordinate system and Σ_(obj)represents an object coordinate. In this embodiment, the absolutecoordinate is a coordinate system having the origin in the center of thefirst component 200. As shown in FIG. 4, the object coordinate is acoordinate system having the origin in the center of a bottom side cd ofthe hole 211 of the second component 210.

As shown in FIG. 4, vertexes of the first component 200 are respectivelyrepresented by A, B, C, and D. Vertexes of the second component 210 arerespectively represented by a, b, c, and d. On the front surface of thesecond component 210, a surface in a negative x-axis direction of theabsolute coordinate is represented by aa and a surface in a positivex-axis direction of the absolute coordinate is represented by bb.

In the x-axis direction, the width of the bottom side cd of the hole 211of the second component 210 is equal to or larger than a bottom side ADof the first component 200.

Conversion of the absolute coordinate Σ_(o) and the object coordinateΣ_(obj) is explained.

As explained with reference to FIG. 1, the force sensor 20 d is attachedto the manipulator unit 20 b. The force sensor 20 d detects a force (f)and a moment (n) applied to the first component 200.

As shown in FIG. 4, it is assumed that the position and the posture of abase coordinate system Σ_(b) in the absolute coordinate system Σ_(o) areknown. In this case, it is possible to calculate the position and theposture of a finger coordinate system Σ_(h) viewed from the absolutecoordinate system Σ_(o) according to the forward kinematics. Further, itis assumed that the object coordinate system Σ_(obj) in the fingercoordinate system Σ_(h) is known. Therefore, a force ^(o)f from theabsolute coordinate system Σ_(o) to the object coordinate system Σ_(obj)(f is boldface) and the conversion of ^(o)n (n is boldface) isrepresented by Expressions (1) and (2) below.

^(o) f= ^(o) R _(obj)×^(obj) f  (1)

^(o) n= ^(o) R _(obj)×^(obj) n  (2)

In Expression (1), ^(obj)f (f is boldface) is a force in the objectcoordinate system and is represented by Expression (3) below. InExpression (2), ^(obj)n (n is a boldface) is a moment in the objectcoordinate system and is represented by Expression (4) below.

^(obj) f= ^(obj) R _(sen)×^(sen) f  (3)

^(obj) n=[ ^(obj) P _(sen)]^(obj) R _(sen) ^(sen) f+ ^(obj) R _(sen)^(sen) n  (4)

In Expressions (3) and (4), ^(sen)f (f is boldface) is a force appliedto the force sensor 20 d viewed from the sensor coordinate system Σ_(o).Further, ^(sen)f (f is boldface) is a column vector having threeelements (real numbers). In Expression (4), ^(sen)n (n is boldface) is amoment applied to the force sensor 20 d viewed from the sensorcoordinate system. ^(obj)P_(sen) (P is boldface) is a vectorrepresenting an origin position of the sensor coordinate system viewedfrom the object coordinate system. ^(sen)f (f is boldface) is a columnvector having three elements (real numbers). In Expressions (3) and (4),^(obj)R_(sen) is a rotating matrix for conversion from the objectcoordinate system to the sensor coordinate system and is a matrix ofthree rows and three columns.

In Expressions (1) and (2), ^(o)R_(obj) (R is boldface) is a rotatingmatrix for conversion from the absolute coordinate system to the objectcoordinate system and is represented by Expression (5).

^(o) R _(obj)=^(o) R _(b) ^(b) R _(h) ^(h) R _(sen) ^(sen) R _(obj)  (5)

In Expression (5), ^(o)R_(b) is a rotating matrix from an absolutecoordinate system o to a base coordinate system b. ^(b)R_(h) is arotating matrix from the base coordinate system b to a finger coordinatesystem h. ^(h)R_(sen) is a rotating matrix from the finger coordinatesystem h to the force sensor 20 d. ^(sen)R_(obj) is a rotating matrixfrom the force sensor 20 d to the object coordinate system obj.^(o)R_(obj), ^(o)R_(b), ^(b)R_(h), ^(h)R_(sen), and ^(sen)R_(obj) arerespectively matrixes of three rows and three columns.

The transition information and detection values and command values ofthe force sensor 20 d stored in the table storing unit 103 areexplained.

First, the transition information stored in the table storing unit 103is explained.

FIG. 5 is a state transition diagram based on the transition informationstored in the table storing unit 103 according to this embodiment.

As shown in FIG. 5, in the table storing unit 103, contact states andtransition information of the first component 200 and the secondcomponent 210 are stored in association with each other for each ofstate transitions. In the example shown in FIG. 5, signs k1 to k6, p1 top8, and s1 to s14 represent, in a two-dimension, state of the firstcomponent 200 and the second component 210 viewed from a side. Arrows t1to t6, t11 to t22, and t31 to t38 represent direct transition from thecontact states to the next target states. The transition information is,for example, as indicated by arrow t11, information indicatingtransition from the state p1 to the state s7.

In FIG. 5, it is assumed that the states k1 to k6 are initial posturesand a tilt angle of the first component 200 is equal to or smaller than45 [deg].

As shown in FIG. 5, the initial postures k1 to k6 respectivelytransition to the states p1 to p6 as indicated by arrows t1 to t6.

As indicated by arrow t11, the next target state of the state p1 is thestate s7. As indicated by arrows t12 to t14, the next target state ofthe state p2 is any one of the states s2 to s4. As indicated by arrowt15, the state p3 transitions to the state s2. As indicated by arrowt16, the next target state of the state p4 is the state s8. As indicatedby arrows t17 to t19, the next target state of the state p5 is any oneof the states s8 to s10. As indicated by arrow t20, the next targetstate of the state p6 is the state s6. As indicated by arrow t21, thenext target state of the state s6 is the state p3. As indicated by arrowt22, the next target state of the state s7 is the state p4.

As indicated by arrow t31, the next target state of the state s2 is thestate p7. As indicated by arrow t32, the next target state of the states3 is the state p13. As indicated by arrow t33, the next target state ofthe state s4 is the state p7. As indicated by arrow t34, the next targetstate of the state s8 is the state p8. As indicated by arrow t35, thenext target state of the state s9 is the state p14. As indicated byarrow t36, the next target state of the state s10 is the state p8. Asindicated by arrow t37, the next target state of the state p7 is thestate s3. As indicated by arrow t38, the next target state of the statep8 is the state s9.

In FIG. 5, the reason for no state transitions to the states s1, s5,s11, and s12 and the states s1, s5, s11, and s12 transition to no stateis, in these states, the first component 200 cannot be combined along apoint or a line of the hole 211 of the second component 210. Therefore,transition information of these states may not be stored in the tablestoring unit 103.

The states p1 to p8 are states in which the first component 200 and thesecond component 210 are in contact in a point and a line (a firstcontact form). For example, the state p1 is a state in which a vertex Aof the first component is in contact with a line aa of the secondcomponent. For example, the state p2 is a state in which a line AB ofthe first component is in contact with a vertex a of the secondcomponent.

When viewed three-dimensionally, the first component 200 and the secondcomponent 210 are in contact with in a line and a surface. For example,the state p1 is a state in which a line including the vertex A of thefirst component is in contact with a surface including the line aa ofthe second component.

States s1, s3, s5, s6, s7, s9, s11, and s12 are states in which thefirst component 200 and the second component 210 are in contact in apoint and a line (a second contact form). For example, the state s1 is astate in which the line AB of the first component is in contact with theline aa of the second component.

When viewed three-dimensionally, the first component 200 and the secondcomponent 210 are in contact in a surface and a surface. For example,the state s1 is a state in which a surface including the vertex AB ofthe first component is in contact with a surface including the line aaof the second component.

The states s2, s4, s8, and s10 are states in which the first component200 and the second component 210 are in contact in points and lines intwo places (a third contact form). For example, the state s2 is a statein which the line AB of the first component is in contact with thevertex a of the second component and a line AD of the first component isin contact with a vertex b of the second component. For example, thestate s8 is a state in which the line AD of the first component is incontact with the vertex a of the second component and a line CD of thefirst component is in contact with the vertex b of the second component.

When viewed three-dimensionally, the first component 200 and the secondcomponent 210 are in contact in lines and surfaces in two places. Forexample, the state s2 is a state in which the surface including the lineAB of the first component is in contact with a line including the vertexa of the second component and a surface including the line AD of thefirst component is in contact with a line including the vertex b of thesecond component.

The meaning of the state transition shown in FIG. 5 is explained.

As explained below, the robot control apparatus 10 discriminates, on thebasis of detection values detected by the force sensor 20 d, in which ofthe contact states shown in FIG. 5 the first component 200 and thesecond component 210 are. The robot control apparatus 10 controls themanipulator unit 20 b and the gripping unit 20 c on the basis of aresult of the discrimination using the transition information shown inFIG. 5 stored in the table storing unit 103. At this point, as shown inFIG. 5, the robot control apparatus 10 brings the first component 200into contact with the second component 210. Thereafter, the robotcontrol apparatus 10 shifts the first component 200 while maintainingthe contact state to fit the first component 200 in the hole 211.

Detection values after discretization by the force sensor stored in thetable storing unit 103 are explained.

FIG. 6 is a diagram showing detection values after discretization of thestates p1 to p8 detected by the force sensor 20 d in the absolutecoordinate system and stored in the table storing unit 103 according tothis embodiment. FIG. 7 is a diagram showing detection values afterdiscretization of the states s2 to p14 detected by the force sensor 20 din the absolute coordinate system or the object coordinate system andstored in the table storing unit 103. The detection values afterdiscretization stored in the table storing unit 103 shown in FIG. 6 arethird detection values. The detection values after discretization storedin the table storing unit 103 shown in FIG. 7 are third detection valuesor fourth detection values.

As shown in FIG. 6, in the table storing unit 103, the detection values(fx, fy, fz, nx, ny, and nz) detected by the force sensor 20 d arediscretized for each of contact states of the state p1 to p8 and thedetection values after the discretization are stored in association withone another in a table format. For example, as shown in a second row,detection values after the discretization of the state p1 is fx=0, fy=0,fz=1, nx=−1, ny=0, and nz=0.

Similarly, as shown in FIG. 7, in the table storing unit 103, thedetection values (fx, fy, fz, nx, ny, and nz) detected by the forcesensor 20 d are discretized for each of contact states of the state s2to s4, s6 to s10, s13, and s14 and the detection values after thediscretization are stored in association with one another in a tableformat. For example, as shown in a second row, detection values afterthe discretization of the state s2 is fx=0, fy=0, fz=1, nx=0, ny=0, andnz=0.

FIG. 8 is a diagram showing detection values of the states p1 to p8detected by the force sensor 20 d in the object coordinate system andstored in the table storing unit 103 according to this embodiment. Thedetection values after discretization stored in the table storing unit103 shown in FIG. 8 are fourth detection values.

As shown in FIG. 8, in the table storing unit 103, the detection values(fx, fy, fz, nx, ny, and nz) detected by the force sensor 20 d arediscretized for each of contact states of the state p1 to p8 and thedetection values after the discretization are stored in association withone another in a table format. For example, as shown in a second row,detection values after the discretization of the state p1 are fx=1,fy=1, fz=1, nx=−1, ny=0, and nz=0. The values −1, 0, and +1 in FIGS. 6to 8 represent directions of forces and moments. That is, in FIGS. 6 to8, when a sign of a detection value is minus, the detection valuerepresents a force in the opposite direction or a moment in the oppositedirection with respect to each axis.

Detection values after discretization of the detection values (fx, fy,fz, nx, ny, and nz) of the states s2 to s4, s6 to s10, s13, and s14 ofthe object coordinate system detected by the force sensor 20 d are thesame as the detection values after discretization of the states s1 top14 in the absolute coordinate system shown in FIG. 7. The detectionvalues after discretization are shown in FIGS. 6 to 8. These values maybe grouped and stored in the table storing unit 103 or may becollectively stored in the table storing unit 103 without being grouped.

The command values stored in the table storing unit 103 are explained.

FIG. 9 is a diagram for explaining command values stored in the tablestoring unit 103 according to this embodiment.

As shown in FIG. 9, in the table storing unit 103, angles (θ_(x), θ_(y),θ_(z)) and forces (f_(x), f_(y), f_(z)) are stored in association witheach other in a table format as command values for controlling themanipulator unit 20 b and the gripping unit 20 c for each of statestransitioned from the present contact states to the next target states.As shown in FIG. 9, command values explained below are stored in thetable storing unit 103. The stored command values are command values fortransitioning a contact state from states to the next states, i.e., fromthe state p1 to the state s7, from the state p2 to the state s2, fromthe state p2 to the state s3, from the state p2 to the state s4, fromthe state p3 to the state s2, from the state p4 to the state s8, fromthe state p5 to the state s8, from the state p5 to the state s9, fromthe state p5 to the state s10, from the state p6 to the state s6, fromthe state s6 to the state p3, from the state s7 to the state p4, fromthe state s2 to the state s7, from the state s4 to the state p7, fromthe state p7 to the state s3, from the state s3 to the state s13, fromthe state s8 to the state p8, from the state s10 to the state p8, fromthe state p8 to the state s9, and from the state s9 to the state s14.

In FIG. 9, a sign “→” represents a state transition from the presentstate to the next state. For example, “p1→s7” in a second row representsa command value for transitioning a state from the state p1 to the states7.

The values of the angles (θ_(x), θ_(y), θ_(z)) and the forces (f_(x),f_(y), f_(z)) shown in FIG. 9 represent directions for rotation. In thecase of “+”, the values are command values for rotation in a positivedirection in the axis direction of the rotation to be a next targetstate. In the case of “−”, the values are command values for rotation ina negative direction in the axis direction of the rotation to be a nexttarget state. The values of the angles (θ_(x), θ_(y), θ_(z)) and theforces (f_(x), f_(y), f_(z)) may be set according to the rigidity andthe like of the first component 200 and the second component 210 to befit in each other.

A processing procedure performed by the robot control apparatus 10according to this embodiment is explained.

First, a procedure for storing the tables shown in FIGS. 6 to 8 in thetable storing unit 103 is explained. FIG. 10 is a flowchart of theprocedure for storing the tables in the table storing unit 103 accordingto this embodiment.

Step S1

The control unit 105 of the robot control apparatus 10 reads out acontrol value stored in the control storing unit 106. Subsequently, thecontrol unit 105 controls, on the basis of the read-out control value,the first component 200 and the second component 210 to sequentiallychange to the contact states of the states p1 to p8 and the states s1 tos14 shown in FIG. 5.

Step S2

The sensor-detection-value acquiring unit 101 acquires detection valuesdetected by the force sensor 20 d and causes the table storing unit 103to store the acquired detection value before discretization as firstdetection values. The sensor-detection-value acquiring unit 101 outputsthe acquired detection value before discretization to the discretizingunit 102.

Step S3

The discretizing unit 102 converts the detection values beforediscretization output by the sensor-detection-value acquiring unit 101from the absolute coordinate system into the object coordinate systemusing Expressions (1) to (5). The discretizing unit 102 discretizes thedetection values in the absolute coordinate system and causes the tablestoring unit 103 to store the detection values after the discretizationas third detection values. Subsequently, the discretizing unit 102discretizes the detection values in the object coordinate system andcauses the table storing unit 103 to store the detection values afterthe discretization as fourth detection values.

Step S4

The control unit 105 discriminates whether detection values of allstates set in advance are acquired. When discriminating that thedetection values of all the states are acquired (Yes in step S4), thecontrol unit 105 ends the storage processing for the tables. When notdiscriminating that the detection values of all the states are acquired(No at step S4), the control unit 105 returns to step S1 and repeatssteps S1 to S4 concerning unprocessed states.

A procedure in which the robot control apparatus 10 discriminates thestates p1 to p8 and the states s1 to s14 shown in FIG. 5 and transitionsa state is explained. FIG. 11 is a flowchart of a procedure fordiscriminating a contact state of the first component 200 and the secondcomponent 210 and transitioning the contact state of the first component200 and the second component 210 according to this embodiment.

Step S11

The sensor-detection-value acquiring unit 101 acquires detection valuesbefore discretization detected by the force sensor 20 d and outputs theacquired detection values before discretization to the discretizing unit102.

Step S12

The discretizing unit 102 converts the detection values beforediscretization output by the sensor-detection-value acquiring unit 101from the absolute coordinate system into the object coordinate systemusing Expressions (1) to (5). Subsequently, the discretizing unit 102discretizes each of the detection values before discretization in theabsolute coordinate system and the detection values beforediscretization in the object coordinate system. The discretizing unit102 outputs the detection values before discretization in the absolutecoordinate system, the detection values before discretization in theobject coordinate system, the detection values after the discretizationin the absolute coordinate system, and the detection values after thediscretization in the object coordinate system to the selecting unit104.

Step S13

The selecting unit 104 compares the detection values after thediscretization in the absolute coordinate system output by thediscretizing unit 102 and the third detection values stored in the tablestoring unit 103 and discriminates a contact state of the firstcomponent 200 and the second component 210 on the basis of a result ofthe comparison.

Step S14

The selecting unit 104 discriminates whether the number of statescoinciding with the detection values after the discretization is one ortwo among the contact states stored in the table storing unit 103. Whendiscriminating that the number of states coinciding with the detectionvalues after the discretization is one (one in step S14), the selectingunit 104 outputs transition information to the control unit 105 on thebasis of a result of the discrimination in step S13 and proceeds to stepS18. When discriminating that the number of states coinciding with thedetection values after the discretization is two (two in step S14), theselecting unit 104 proceeds to step S15. The two states coinciding withthe detection values after the discretization are, as shown in FIG. 6,the states p2 and p4, the states p3 and p5, the states p1 and s7, andthe states p6 and s6.

Step S15

When discriminating that the number of states coinciding with thedetection values after the discretization is two, the selecting unit 104discriminates whether the two states are the states p2 and p4, thestates p3 and p5, the states p1 and s7, or the states p6 and s6. Whendiscriminating that the two states are the states p2 and p4 or thestates p3 and p5 (states p2 and p4 or states p3 and p5 in step S15), theselecting unit 104 proceeds to step S16. When discriminating that thetwo states are the states p1 and s7 or the states p6 and s6 (states p1and s7 or states p6 and s6 in step S15), the selecting unit 104 proceedsto step S17.

Step S16

When discriminating that the two states are the states p2 and p4 or thestates p3 and p5, the selecting unit 104 compares values of the forcesfx and fz included in the detection values before discretization andvalues of the forces fx and fz included in the first detection valuesstored in the table storing unit 103. Subsequently, the selecting unit104 discriminates, on the basis of a result of the comparison, whetherthe contact state of the first component 200 and the second component210 is the state p2 or the state p4 or the state p3 or the state p5. Theselecting unit 104 outputs transition information to the control unit105 on the basis of a result of the discrimination.

Step S17

When discriminating that the two states are the states p1 and s7 or thestates p6 and s6, the selecting unit 104 compares the detection valuesafter the discretization of the object coordinate system and the fourthdetection values of the object coordinate system stored in the tablestoring unit 103 shown in FIGS. 7 and 8.

Specifically, when discriminating that the two states are the states p1and s7, the selecting unit 104 compares the force fx among the detectionvalues after the discretization of the object coordinate system with thefourth detection value. When the force fx is 1, the selecting unit 104discriminates that the contact state is the state p1. When the force fxis 0, the selecting unit 104 discriminates that the contact state is thestate s7. The selecting unit 104 may compare the force fy with thefourth detection value. In this case, when the force fy is 1, theselecting unit 104 discriminates that the contact state is the state p1.When the force fy is 0, the selecting unit 104 discriminates that thecontact state is the state s7.

When discriminating that the two states are the states p6 and s6, theselecting unit 104 compares the force fx among the detection valuesafter the discretization of the object coordinate system with the fourthdetection value. When the force fx is 1, the selecting unit 104discriminates that the contact state is the state p6. When the force fxis 0, the selecting unit 104 discriminates that the contact state is thestate s6. The selecting unit 104 may compare the force fy with thefourth detection value. In this case, when the force fy is −1, theselecting unit 104 discriminates that the contact state is the state p6.When the force fy is 0, the selecting unit 104 discriminates that thecontact state is the state s7.

Subsequently, the selecting unit 10 outputs transition information tothe control unit 105 on the basis of a result of the discrimination.

Step S18

The control unit 105 discriminates, on the basis of the transitioninformation output by the selecting unit 104, whether the contact stateof the first component 200 and the second component 210 is a targetstate (a final target state). The final target state is the state s13 orthe state s14 shown in FIG. 5. When discriminating that the contactstate of the first component 200 and the second component 210 is not thetarget state (No in step S18), the control unit 105 proceeds to stepS19. When discriminating that the contact state of the first component200 and the second component 210 is the target state (Yes in step S18),the control unit 105 ends the processing for transitioning the contactstate of the first component 200 and the second component 210.

Step S19

The control unit 105 selects, on the basis of the transition informationoutput by the selecting unit 104, a command value stored in the tablestoring unit 103. For example, when the transition information isinformation indicating the transition from the state p1 to the state s7,the control unit 105 selects a command value for the transition from thestate p1 to the state s7. The control unit 105 controls the manipulatorunit 20 b and the gripping unit 20 c on the basis of the selectedcommand value. After ending the step S19, the control unit 105 returnsto step S11.

The robot control apparatus 10 may discriminate, on the basis of imagedata picked up by the image pickup apparatus 30, that the contact stateis the state s1, s5, s11, or s12 among the states shown in FIG. 5. Whendiscriminating that the contact state is the state s1, s5, s11, or s12,for example, the robot control apparatus 10 may grip the first component200 again and repeat the fitting of the first component 200 and thesecond component 210 in steps S1 to S19 from any one state among theinitial postures k1 to k6.

An example of control performed by the robot control apparatus 10 isexplained.

In FIG. 5, the robot control apparatus 10 performs control to lower thefirst component 200 from the initial posture k1 in the z-axis directionin the negative direction of the absolute coordinate system until thefirst component 200 changes to the state p1. After discriminating thatthe contact state of the first component 200 and the second component210 is the state p1, the robot control apparatus 10 controls the contactstate of the first component 200 and the second component 210 to be thestate s7. After discriminating that the contact state of the firstcomponent 200 and the second component 210 is the state s7, the robotcontrol apparatus 10 controls the contact state of the first component200 and the second component 210 to be the state p4. Afterdiscriminating that the contact state of the first component 200 and thesecond component 210 is the state p4, the robot control apparatus 10controls the contact state of the first component 200 and the secondcomponent 210 to be the state s8. After discriminating that the contactstate of the first component 200 and the second component 210 is thestate s8, the robot control apparatus 10 controls the contact state ofthe first component 200 and the second component 210 to be the state s9.After discriminating that the contact state of the first component 200and the second component 210 is the state s9, the robot controlapparatus 10 controls the contact state of the first component 200 andthe second component 210 to be the state s14.

The robot control apparatus 10 performs the fitting in a state in whicha side CD of the first component 200 is set in contact with a side bd ofthe hole 211, i.e., while keeping the side CD of the first component 200pressed against the side bd of the hole 211.

As explained above, the robot apparatus 1 according to this embodimentdiscriminates the contact state of the first component 200 and thesecond component 210 on the basis of the detection values detected bythe force sensor 20 d included in the robot apparatus 1. Then, the robotapparatus 1 according to this embodiment selects, according to thediscriminated state, the transition information stored in the tablestoring unit 103 and controls the next target state of the firstcomponent 200 and the second component 210. As a result, according tothis embodiment, it is possible to fit in the first component 200 andthe second component 210 each other even if the hole 211 of the secondcomponent 210 is not chamfered.

Further, the robot apparatus 1 according to this embodimentdiscriminates the contact state of the first component 200 and thesecond component 210 in the absolute coordinate system on the basis ofthe detection values after the discretization. Therefore, it is possibleto reduce a computation amount for the contact state of the firstcomponent 200 and the second component 210. When a plurality of statessame as the detection values are stored in the storing unit, the robotapparatus 1 according to this embodiment discriminates the states on thebasis of the detection values before discretization in the absolutecoordinate system, the detection values after the discretization in theabsolute coordinate system, and the detection values after thediscretization in the object coordinate system. Therefore, it ispossible to appropriately discriminate the contact state of the firstcomponent 200 and the second component 210.

In the example explained in this embodiment, when a plurality of contactstates coinciding with the detection values are stored in the storingunit 103, the discretizing unit 102 converts the detection values fromthe absolute coordinate system into the object coordinate system,discretizes the respective detection values of the absolute coordinatesystem and the object coordinate system, and outputs the detectionvalues to the selecting unit 104. However, the conversion and thediscretization of the detection values are not limited to this. Whendiscriminating that the coinciding two states are the states p1 and s7or the states p6 and s6 as a result of the comparison in step S15, theselecting unit 104 may convert the detection values from the absolutecoordinate system into the object coordinate system and discretizes theconverted detection values. Consequently, it is possible to reduce thecomputation amount. In this case, as in the example explained above, thediscretizing unit 102 may perform the conversion from the absolutecoordinate system into the object coordinate system and thediscretization.

Second Embodiment

In the first embodiment, the example in which the first component 200and the second component 210 in the initial postures k1 to k6 shown inFIG. 5 are fit in each other is explained. In a second embodiment, anexample in which the first component 200 and the second component 210are fit in each other from a state in which the first component 200 andthe second component 210 are positioned in the x direction in theabsolute coordinate system shown in FIG. 4.

A robot apparatus according to this embodiment changes a contact stateof the first component and the second component to a first contactstate, changes the contact state to a second contact state after thefirst contact state, and changes the contact state to a third contactstate after the second state to fit in the first component and thesecond component each other. Further, in the third contact state, therobot apparatus according to this embodiment sequentially transitionsthe first component to be attached to (fit in) a hole of the secondcomponent along a surface of the first component in contact with thehole of the second component.

The contact state of the first component 200 and the second component210 is a form of the first component 200 and the second component 210.The contact state is a state including a state in which the firstcomponent 200 and the second component 210 are in point contact witheach other (a first contact state), a state in which the first component200 and the second component 210 are in line contact with each other (asecond contact state), a state in which the first component 200 and thesecond component 210 are in surface contact with each other (a thirdcontact state), and a state in which the first component 200 is put inthe hole 211. In this embodiment, the first contact state is, forexample, a state in which a side of the first component 200 and a ridgeline of the hole 211 are in contact at one point. The second contactstate is, for example, a state in which the surface of the firstcomponent 200 and the ridge line of the hole 211 are in contact. Thethird contact state is, for example, a state in which the surface of thefirst component 200 and the surface of the hole 211 are in contact.

The configuration of the robot apparatus 1 is the same as theconfiguration shown in FIG. 1 in the first embodiment. The configurationof the robot control apparatus 10 is the same as the configuration shownin FIG. 3 in the first embodiment. The robot control apparatus 10 maydiscriminate, for example, on the basis of image data picked up by theimage pickup apparatus 30, a state in which the first component 200 andthe second component 210 are positioned in the x direction.

FIG. 12 is a diagram for explaining the dimensions of the firstcomponent 200 on an xy plane and the dimensions of the hole 211 of thesecond component 210 according to this embodiment. FIG. 13 is a diagramfor explaining vertexes of an absolute coordinate system and an objectcoordinate system in the first component 200 and the second component210 according to this embodiment. In FIG. 12, the left right directionis set as an x-axis direction, the depth direction is set as a y-axisdirection, and the vertical direction is set as a z-axis direction.

As shown in FIG. 12, the length in the x-axis direction of the firstcomponent 200 is W_(x), the length in the y-axis direction of the firstcomponent 200 is W_(y), the length in the x-axis direction of the hole211 of the second component 210 is W_(x)+ε_(x), and the length in they-axis direction of the hole 211 is W_(y)+ε_(y). That is, the holediameter of the second component 210 is larger than the dimensions ofthe first component 200 by ε_(x) in the x-axis direction and ε_(y) inthe y-axis direction.

As shown in FIG. 13, the center of a rear surface e1f1g1h1 of the hole211 of the second component 210 is set as an origin O_(o) of theabsolute coordinate system. The x-axis direction is represented byx_(o), the y-axis direction is represented by y_(o), and the z-axisdirection is represented by z_(o). In the hole 211 of the secondcomponent 210, vertexes on the rear surface side including the originO_(o) are respectively represented by e1, f1, g1, and h1. In the hole211 of the second component 210, vertexes on the front surface side notincluding the origin O_(o) are respectively represented by a1, b1, c1,and d1.

As shown in FIG. 13, the center of the rear surface E1F1H1G1 of thefirst component 200 is set as an origin O_(obj) of the object coordinatesystem. The x-axis direction is represented by x_(obj), the y-axisdirection is represented by y_(obj), and the z-axis direction isrepresented by z_(obj). In the first component 200, vertexes on the rearsurface side including the origin O_(obj) are respectively representedby E1, F1, G1, and H1. In the first component 200, vertexes on the frontsurface side not including the origin O_(obj) are respectivelyrepresented by A1, B1, C1, and D1.

Preconditions in this embodiment are as explained below.

1. A range of an angle representing an error of a posture of the objectcoordinate system viewed from the absolute coordinate system is −45[deg] to +45 [deg] or less.

2. A relation between positions ^(o)x_(obj) and ^(o)y_(obj) of theorigin of the object coordinate system and the origin of the absolutecoordinate system is an error range represented by Expression (6) below.

$\begin{matrix}\left. \begin{matrix}{{- ɛ_{x}} < {{}_{}^{}{}_{}^{}} < ɛ_{x}} \\{{- \left( {W_{y} + ɛ_{y}} \right)} < {{}_{}^{}{}_{}^{}} < {W_{y} + ɛ_{y}}}\end{matrix} \right\} & (6)\end{matrix}$

3. As point contact, only ridges and ridge contact are taken intoaccount.

4. Transition to a state clearly away from target position and postureis not taken into account.

5. A compliance (an inverse of rigidity) center is present at the originof the object coordinate system.

6. In the hole 211 of the second component 210, only contact of a ridgeline a1b1 or c1d1 and the first component 200 is taken into account.This is because the contact of the ridge line b1c1 or a1d1 and the firstcomponent 200 is the same control if a coordinate system is changed.

Transition information and detection values and command values of theforce sensor 20 d stored in the table storing unit 103 are explained.

First, the transition information stored in the table storing unit 103is explained.

FIG. 14 is a state transition diagram based on the transitioninformation stored in the table storing unit 103 according to thisembodiment.

As shown in FIG. 14, in the table storing unit 103, contact states andtransition information of the first component 200 and the secondcomponent 210 are stored in association with each other for each ofcontact forms. In FIG. 14, arrows t101 to t116, t121 to t128, t131 tot138, t141 to t148, and t151 to t158 represent that the contact statesare directly transitioned to the next target states.

In an example shown in FIG. 14, the transition information stored in thetable storing unit 103 is as explained below. As indicated by arrowst101 and t102, the next target state of the state p101 is the statetp101 or 1102. As indicated by arrows t103 and t104, the next targetstate of the state p102 is the state tp102 or 1102. As indicated byarrows t105 and t106, the next target state of the state p103 is thestate tp103 or 1105. As indicated by arrows t107 and t108, the nexttarget state of the state p104 is the state tp104 or 1105. As indicatedby arrows t109 and t110, the next target state of the state p105 is thestate tp105 or 1108. As indicated by arrows t111 and t112, the nexttarget state of the state p106 is the state tp106 or 1108. As indicatedby arrows t113 and t114, the next target state of the state p107 is thestate tp107 or 1111. As indicated by arrows t115 and t116, the nexttarget state of the state p108 is the state tp108 or 1111.

As indicated by arrow t121, the next target state of the state tp101 isthe state 1101. As indicated by arrow t122, the next target state of thestate tp102 is the state 1103. As indicated by arrow t123, the nexttarget state of the state tp103 is the state 1104. As indicated by arrowt124, the next target state of the state tp104 is the state 1106. Asindicated by arrow t125, the next target state of the state tp105 is thestate 1107. As indicated by arrow t126, the next target state of thestate tp106 is the state 1109. As indicated by arrow t127, the nexttarget state of the state tp107 is the state 1110. As indicated by arrowt128, the next target state of the state tp108 is the state 1112.

As indicated by arrows t131 and t132, the next target state of thestates 1102 and 1103 is the state 1101. As indicated by arrows t133 andt134, the next target state of the states 1105 and 1106 is the state1104. As indicated by arrows t135 and t136, the next target state of thestates 1108 and 1109 is the state 1107. As indicated by arrows t137 andt138, the next target state of the states 1111 and 1112 is the state1110.

Arrows t121 to t128 and t131 to t138 indicate transition statescontrolled by the robot control apparatus 10 to push the first component200 into the hole 211 of the second component 210.

As indicated by arrows t141 to t143, the next target state of the state1101 is any one of the states s101, s102, and s103. As indicated byarrow t144, the next target state of the state 1104 is the state s104.As indicated by arrows t145 to t147, the next target state of the state1107 is any one of the states s104, s105, and s106. As indicated byarrow t148, the next target state of the state 1110 is the state s103.

As indicated by arrow t151, the next target state of the state s101 isthe state s107. As indicated by arrow t152, the next target state of thestate s103 is the state s107. As indicated by arrow t153, the nexttarget state of the state s104 is the state s108. As indicated by arrowt154, the next target state of the state s106 is the state s108. Asindicated by arrow t155, the next target state of the state s107 is thestate s102. As indicated by arrow t156, the next target state of thestate s108 is the state s105. As indicated by arrow t157, the nexttarget state of the state s102 is the state s109. As indicated by arrowt158, the next target state of the state s105 is the state s110.

In the state p101, a side A1E1 of the first component 200 and the ridgeline a1b1 of the hole 211 are in point contact with each other at onepoint. In the state p102, a side B1F1 of the first component 200 and theridge line a1b1 of the hole 211 are in point contact with each other atone point. In the state p103, a side E1H1 of the first component 200 andthe ridge line a1b1 of the hole 211 are in point contact with each otherat one point. In the state p104, a side F1G1 of the first component 200and the ridge line a1b1 of the hole 211 are in point contact with eachother at one point. In the state p105, a side D1H1 of the firstcomponent 200 and the ridge line c1d1 of the hole 211 are in pointcontact with each other at one point. In the state p106, a side C1G1 ofthe first component 200 and the ridge line c1d1 of the hole 211 are inpoint contact with each other at one point. In the state p107, a sideE1H1 of the first component 200 and the ridge line c1d1 of the hole 211are in point contact with each other at one point. In the state p108, aside F1G1 of the first component 200 and the ridge line c1d1 of the hole211 are in point contact with each other at one point.

In the state tp101, the first component 200 and the hole 211 are incontact with each other at two points where the side A1E1 of the firstcomponent 200 and the ridge line a1b1 of the hole 211 are in contact andthe side E1H1 of the first component 200 and the ridge line a1d1 of thehole 211 are in contact. In the state tp102, the first component 200 andthe hole 211 are in contact with each other at two points where the sideB1F1 of the first component 200 and the ridge line a1b1 of the hole 211are in contact and the side F1G1 of the first component 200 and theridge line b1c1 of the hole 211 are in contact. In the state tp103, thefirst component 200 and the hole 211 are in contact with each other attwo points where the side E1H1 of the first component 200 and the ridgeline a1b1 of the hole 211 are in contact and the side D1H1 of the firstcomponent 200 and the ridge line a1d1 of the hole 211 are in contact. Inthe state tp104, the first component 200 and the hole 211 are in contactwith each other at two points where the side F1G1 of the first component200 and the ridge line a1b1 of the hole 211 are in contact and the sideC1G1 of the first component 200 and the ridge line b1c1 of the hole 211are in contact. In the state tp105, the first component 200 and the hole211 are in contact with each other at two points where the side D1H1 ofthe first component 200 and the ridge line c1d1 of the hole 211 are incontact and the side E1H1 of the first component 200 and the ridge linea1d1 of the hole 211 are in contact. In the state tp106, the firstcomponent 200 and the hole 211 are in contact with each other at twopoints where the side C1G1 of the first component 200 and the ridge linec1d1 of the hole 211 are in contact and the side F1G1 of the firstcomponent 200 and the ridge line b1c1 of the hole 211 are in contact. Inthe state tp107, the first component 200 and the hole 211 are in contactwith each other at two points where the side E1H1 of the first component200 and the ridge line c1d1 of the hole 211 are in contact and the sideA1E1 of the first component 200 and the ridge line a1d1 of the hole 211are in contact. In the state tp108, the first component 200 and the hole211 are in contact with each other at two points where the side G1F1 ofthe first component 200 and the ridge line c1d1 of the hole 211 are incontact and the side B1F1 of the first component 200 and the ridge lineb1c1 of the hole 211 are in contact.

In the state 1101, a surface A1B1F1E1 of the first component 200 and theridge line a1b1 of the hole 211 are in line contact with each other anda surface A1D1H1E1 of the first component 200 and a surface a1d1h1e1 ofthe hole 211 are in surface contact with each other. In the state 1102,the surface A1B1F1E1 of the first component 200 and the ridge line a1b1of the hole 211 are in line contact with each other. In the state 1103,the surface A1B1F1E1 of the first component 200 and the ridge line a1b1of the hole 211 are in line contact with each other and a surfaceB1C1G1F1 of the first component 200 and a surface b1c1g1f1 of the hole211 are in surface contact with each other. In the state 1104, a surfaceE1F1G1H1 of the first component 200 and the ridge line a1b1 of the hole211 are in line contact with each other and the surface A1D1H1E1 of thefirst component 200 and the surface a1d1h1e1 of the hole 211 are insurface contact with each other. In the state 1105, a surface E1B1G1H1of the first component 200 and the ridge line a1b1 of the hole 211 arein line contact with each other. In the state 1106, the surface E1F1G1H1of the first component 200 and the ridge line a1b1 of the hole 211 arein line contact with each other and the surface B1C1G1F1 of the firstcomponent 200 and the surface b1c1g1f1 of the hole 211 are in surfacecontact with each other. In the state 1107, a surface C1D1H1G1 of thefirst component 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other. In the state 1108, the surface C1D1H1G1 of the firstcomponent 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other. In the state 1109, the surface C1D1H1G1 of thefirst component 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface B1C1G1F1 of the first component200 and the surface b1c1g1f1 of the hole 211 are in surface contact witheach other. In the state 1110, the surface E1F1G1H1 of the firstcomponent 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other. In the state 1111, the surface E1F1G1H1 of the firstcomponent 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other. In the state 1112, the surface E1F1G1H1 of thefirst component 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface B1C1G1F1 of the first component200 and the surface b1c1g1f1 of the hole 211 are in surface contact witheach other.

In the state s101, the surface A1B1F1E1 of the first component 200 andthe ridge line a1b1 of the hole 211 are in line contact with each otherand the surface A1D1H1E1 of the first component 200 and the surfacea1d1h1e1 of the hole 211 are in surface contact with each other. In thestate s102, the surface A1B1F1E1 of the first component 200 and thesurface a1b1f1g1 of the hole 211 are in surface contact with each otherand the surface A1D1H1E1 of the first component 200 and the surfacea1d1h1e1 of the hole 211 are in surface contact with each other. In thestate s103, the surface A1B1F1E1 of the first component 200 and theridge line a1d1 of the hole 211 are in line contact with each other, thesurface E1F1G1H1 of the first component 200 and the ridge line c1d1 ofthe hole 211 are in line contact with each other, and the surfaceA1D1H1E1 of the first component 200 and the surface a1d1h1e1 of the hole211 are in surface contact with each other. In the state s104, thesurface C1D1H1G1 of the first component 200 and the ridge line c1d1 ofthe hole 211 are in line contact with each other, the surface E1F1G1H1of the first component 200 and the ridge line a1b1 of the hole 211 arein line contact with each other, and the surface A1D1H1E1 of the firstcomponent 200 and the surface a1d1h1e1 of the hole 211 are in surfacecontact with each other. In the state s105, the surface A1B1F1E1 of thefirst component 200 and the surface a1b1f1g1 of the hole 211 are insurface contact with each other and the surface B1C1G1F1 of the firstcomponent 200 and the surface b1c1g1f1 of the hole 211 are in surfacecontact with each other. In the state s106, the surface C1D1H1G1 of thefirst component 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other. In the state s107, the surface A1B1F1E1 of the firstcomponent 200 and the ridge line a1b1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other. In the state s108, the surface C1D1H1G1 of the firstcomponent 200 and the ridge line c1d1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other. In the state s109, the surface A1B1F1E1 of the firstcomponent 200 and the surface a1b1f1g1 of the hole 211 are in surfacecontact with each other, the surface A1D1H1E1 of the first component 200and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other, and the surface E1F1G1H1 of the first component 200 and thesurface e1f1g1h1 of the hole 211 are in surface contact with each other.In the state s110, the surface A1B1F1E1 of the first component 200 andthe surface a1b1f1g1 of the hole 211 are in surface contact with eachother, the surface B1C1G1F1 of the first component 200 and the surfaceb1c1g1f1 of the hole 211 are in surface contact with each other, and thesurface E1F1G1H1 of the first component 200 and the surface e1f1g1h1 ofthe hole 211 are in surface contact with each other.

The detection values after discretization detected by the force sensorand stored in the table storing unit 103 are explained.

FIG. 15 is a diagram showing detection values after discretization ofthe states p101 to p108 detected by the force sensor 20 d and stored inthe table storing unit 103 according to this embodiment. FIG. 16 is adiagram showing detection values after discretization of the statestp101 to tp108 detected by the force sensor 20 d in the absolutecoordinate system and stored in the table storing unit 103 according tothis embodiment. FIG. 17 is a diagram showing detection values afterdiscretization of the states 1101 to 1112 detected by the force sensor20 d in the absolute coordinate system and stored in the table storingunit 103 according to this embodiment. FIG. 18 is a diagram showingdetection values after discretization of the states s101 to s110detected by the force sensor 20 d in the absolute coordinate system andstored in the table storing unit 103 according to this embodiment.

The command values for transitioning contact states to the next targetstates stored in the table storing unit 103 are explained.

As shown in FIG. 15, in the table storing unit 103, forces (^(o)f_(x),^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system and moments(^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinate system of thestates p101 to p108 are stored in association with each other. Forexample, as shown in a second row, detection values after discretizationof the state p101 are ^(o)fx=0, ^(o)fy=1, ^(o)fz=1, ^(obj)nx=−1,^(obj)ny=0, and ^(obj)nz=−1.

Combinations of discretized detection values in the absolute coordinatesystem and discretized detection values in the object coordinate systemare referred to as second detection values in this embodiment.

In the table storing unit 103, the forces (^(o)f_(x), ^(o)f_(y),^(o)f_(z)) and moments (^(o)nx, ^(o)ny, ^(o)nz) in the absolutecoordinate system may be stored in association with each other andforces (^(obj)f_(x), ^(obj)f_(y), ^(obj)f_(z)) and the moments(^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinate system may bestored in association with each other. In this case, the selecting unit104 may read out the force (^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in theabsolute coordinate system and the moment (^(obj)nx, ^(obj)ny, ^(obj)nz)in the object coordinate system stored in the table storing unit 103 anddiscriminate a contact state of the first component 200 and the secondcomponent 210 on the basis of a result of the readout.

As shown in FIG. 16, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states tp101 to tp108are stored in association with each other. For example, as shown in asecond row, detection values after discretization of the state tp101 are^(o)fx=1, ^(o)fy=1, ^(o)fz=1, ^(o)nx=−1, ^(o)ny=1, and ^(o)nz=0.

As shown in FIG. 17, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states 1101 to 1112 arestored in association with each other. For example, as shown in a secondrow, detection values after discretization of the state 1101 are^(o)fx=1, ^(o)fy=1, ^(o)fz=1, ^(o)nx=−1, ^(o)ny=0, and ^(o)nz=0.

As shown in FIG. 18, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states s101 to s110 arestored in association with each other. For example, as shown in a secondrow, detection values after discretization of the state s101 are^(o)fx=1, ^(o)fy=0, ^(o)fz=1, ^(o)nx=−1, ^(o)ny=0, and ^(o)nz=0.

The detection values after ternarization are shown in FIGS. 15 to 18.These values may be grouped and stored in the table storing unit 103 ormay be collectively stored in the table storing unit 103 without beinggrouped.

The command values for state transitions from states stored in the tablestoring unit 103 are explained.

FIG. 19 is a diagram for explaining command values for each of statetransitions from the states p101 to p108 stored in the table storingunit 103 according to this embodiment. FIG. 20 is a diagram forexplaining command values for each of state transitions from the statestp101 to tp108 stored in the table storing unit 103 according to thisembodiment. FIG. 21 is a diagram for explaining command values for eachof state transitions from the states 1102, 1103, 1105, 1106, 1108, 1109,1111, and 1112 stored in the table storing unit 103 according to thisembodiment. FIG. 22 is a diagram for explaining command values for eachof state transitions from the states 1101, 1104, 1107, and 1110 storedin the table storing unit 103 according to this embodiment. FIG. 23 is adiagram for explaining command values for each of state transitions fromstates s101, s102, s103, s104, s105, s106, s107, s108, and s109 storedin the table storing unit 103 according to this embodiment.

As shown in FIGS. 19 to 23, in the table storing unit 103, angles(θ_(x), θ_(y), θ_(z)) and forces (f_(x), f_(y), f_(z)), which arecommand values to the manipulator unit 20 b and the gripping unit 20 c,are stored in a table format in association with each other for each ofstates to which the present states are transitioned next. In FIGS. 19 to23, positive values are command values for controlling the presentstates to be target states by moving the present states in the positivedirection in the axes and negative values are command values forcontrolling the present states to be target states by moving the presentstates in the negative direction in the axes. In examples shown in FIGS.19 to 23, as angles, values −45 [deg], −20 [deg], 0 [deg], +20 [deg],and +45 [deg] are shown. However, the values are examples. Similarly, asforces, values −1 [N (Newton)], 0 [N], and +1 [N] are shown. The valuesare also examples. The angles and the forces may be set according to therigidity and the like of the first component 200 and the secondcomponent 210.

In FIGS. 19 to 23, a sign “→” represents state transitions from thepresent contact states to the next target states.

As shown in FIG. 19, command values explained below are stored in thetable storing unit 103. Command values of state transitions from thestate p101 to the state tp101 or 1102, from the state p102 to the statetp102 or 1102, from the state p103 to the state tp103 or 1105, from thestate p104 to the state tp104 or 1105, from the state p105 to statetp105 or 1108, from the state p106 to the state 1108, from the statep107 to the state tp107 or 1111, and from the state p108 to the statetp108 or tp111 are stored. For example, as shown in a second row,command values (θ_(x), θ_(y), θ_(z), f_(x), f_(y), f_(z)) for the statetransition from the state p101 to the state tp101 are (0 [deg], 0 [deg],45 [deg], 0 [N], 0 [N], 0 [N]).

As shown in FIG. 20, in the table storing unit 103, command values forstate transitions from the state tp101 to the state 1101, from the statetp102 to the state 1103, from the state tp103 to the state 1104, fromthe state tp104 to the state 1106, from the state tp105 to the state1107, from the state tp106 to the state 1109, from the state tp107 tothe state 1110, and from the state tp108 to the state 1112 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the statetp101 to the state 1101 are (0 [deg], 0 [deg], −45 [deg], −1 [N], 0 [N],0 [N]).

As shown in FIG. 21, in the table storing unit 103, command values forstate transitions from the state 1102 to the state 1101, from the state1103 to the state 1101, from the state 1105 to the state 1104, from thestate 1106 to the state 1104, from the state 1108 to the state 1107,from the state 1109 to the state 1107, from the state 1111 to the state1110, and from the state 1112 to the state 1110 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1102to the state 1101 are (0 [deg], 0 [deg], 0 [deg], −1 [N], 0 [N], 0 [N]).

As shown in FIG. 22, in the table storing unit 103, command values forstate transitions from the state 1101 to the state s101, s102, or s103,from the state 1104 to the state s104, from the state 1107 to the states104, s105, or s106, and from the state 1110 to the state s103 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1101to the state s101 are (20 [deg], 0 [deg], 0 [deg], 0 [N], 0 [N], 0 [N]).

As shown in FIG. 23, in the table storing unit 103, command values forstate transitions from the state s101 to the state s107, from the states103 to the state s107, from the state s104 to the state s108, from thestate s106 to the state s108, from the state s107 to the state s102,from the state s108 to the state s105, from the state s102 to the states109, and from the state s105 to the state s110 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state s101to the state s107 are (0 [deg], 0 [deg], 0 [deg], 0 [N], 0 [N], 0 [N]).

The command values for each of the state transitions are shown in FIGS.19 to 23. However, these values may be grouped and stored in the tablestoring unit 103 or may be collectively stored in the table storing unit103 without being grouped.

A procedure for storing detection values (before and afterdiscretization) detected by the force sensor 20 d for each of contactstates in the table storing unit 103 is performed in the same manner asthe first embodiment explained with reference to FIG. 10.

A procedure in which the robot control apparatus 10 discriminates thestates p101 to p108, tp101 to tp108, 1101 to 1112, and s108 to s110shown in FIG. 14 and transitions the states is explained.

FIG. 24 is a flowchart of a procedure for discriminating a contact stateof the first component 200 and the second component 210 andtransitioning the contact state of the first component 200 and thesecond component 210 according to this embodiment. The robot controlapparatus 10 performs control of the initial postures p101 to p108 bycontrolling the manipulator unit 20 b and the gripping unit 20 c usingthe control values stored in the control storing unit 106.

Steps S101 and S102

Steps S101 and S102 are processed in the same manner as steps S11 andS12 in the first embodiment (FIG. 11).

Step S103

The selecting unit 104 compares detection values after discretizationoutput by the discretizing unit 102 and the second detection valuesstored in the table storing unit 103. In this case, as shown in FIG. 15,the detection values to be compared are combinations of detection valuesafter discretization of forces in the absolute coordinate system anddetection values after discretization of moments in the objectcoordinate system.

Step S104

The selecting unit 104 discriminates, on the basis of a result of thecomparison, which of the states p101 to p108 shown in FIGS. 14 and 15the contact state is. The selecting unit 104 discriminates, on the basisof a result of the discrimination, the next target state to which thecontact state is transitioned out of the transition information storedin the table storing unit 103. In this case, the next target state towhich the contact state is transitioned is any one of the states tp101to tp108, 1102, 1105, 1108, and 1111. Subsequently, the selecting unit104 outputs transition information to the control unit 105 on the basisof a result of the discrimination.

When the contact state of the first component 200 and the secondcomponents 210 is, for example, the state p101, in the table storingunit 103, transition information to the states tp101 and 1102 is stored.In such a case, the selecting unit 104 selects transition information onthe basis of the order of priority set in advance. The order of priorityset in advance is, for example, state transitions for a shortest controlprocedure.

Step S105

The control unit 105 selects, on the basis of the transition informationoutput by the selecting unit 104, a command value stored in the tablestoring unit 103. For example, when the transition information isinformation indicating the transition from the state p101 to the statetp101, the control unit 105 selects a command value for the transitionfrom the state p101 to the state tp101 from the table storing unit 103.The control unit 105 controls, on the basis of the selected commandvalue, the manipulator unit 20 b and the gripping unit 20 c, which gripthe first component 200, such that the state p101 changes to the statetp101.

Steps S106 to S108

Steps S106 to S108 are processed in the same manner as steps S101 toS103. In step S108, when the selecting unit 104 discriminates the nexttarget state to which the contact state is transitioned, the selectingunit 104 compares the detection values and only detection values ofcontact states conforming to the state transitions stored in the tablestoring unit 103 rather than comparing the detection values anddetection values of all the stored contact states. Specifically, whenthe present contact state is the state 1101, the selecting unit 104compares the detection values after the discretization in the absolutecoordinate system and the second detection values of the states s101,s102, and s103 stored in the table storing unit 103 and discriminatesthe states on the basis of a result of the comparison.

In this case, as shown in FIGS. 16 to 18, the detection values to becompared are combinations of the detection values after theternarization of the forces and the detection values after thediscretization of the moments in the absolute coordinate system.

Step S109

The control unit 105 discriminates, on the basis of the transitioninformation output by the selecting unit 104, whether the contact stateof the first component 200 and the second component 210 is a targetstate (a final target state). The final target state is the state s109or the state s110 shown in FIG. 14. When discriminating that the contactstate of the first component 200 and the second component 210 is not thetarget state (No in step S109), the control unit 105 returns to stepS106 and repeats steps S106 to S109.

When discriminating that the contact state of the first component 200and the second component 210 is the target state (Yes in step S109), thecontrol unit 105 ends the processing for transitioning the contact stateof the first component 200 and the second component 210.

An example of control performed by the robot control apparatus 10 isexplained.

In FIG. 14, the robot control apparatus 10 controls a contact state ofthe first component 200 and the second component 210 to change from theinitial posture p101 to the state tp101. After discriminating that thecontact state is the state tp101, the robot control apparatus 10controls the contact state to change from the state tp101 to the state1101. After discriminating that the contact state is the state 1101, therobot control apparatus 10 controls the contact state to change from thestate 1101 to the state s101. After discriminating that the contactstate is the state s101, the robot control apparatus 10 controls thecontact state to change from the state s101 to the state s107. Afterdiscriminating that the contact state is the state s107, the robotcontrol apparatus 10 controls the contact state to change from the states101 to the state s102. After discriminating that the contact state isthe state s102, the robot control apparatus 10 controls the contactstate to change from the state s102 to the state s109.

As explained above, when the robot apparatus 1 according to thisembodiment performs fitting of the first component 200 and the secondcomponent 210 in a state in which the first component 200 and the secondcomponent 210 are positioned in the x-axis direction in the absolutecoordinate system, the robot apparatus 1 determines a contact state ofthe first component 200 and the second component 210 on the basis ofdetection values detected by the force sensor 20 d included in the robotapparatus 1. The robot apparatus 1 according to this embodiment selects,according to the determined contact state, transition information storedin the table storing unit 102 and controls the contact state of thefirst component 200 and the second component 210. As a result, accordingto this embodiment, it is possible to fit in the first component 200 andthe second component 210 each other even if the hole 211 of the secondcomponent 210 is not chamfered.

In this case, the robot apparatus 1 causes, on the basis of a contactstate of the first component 200 and the ridge line B1C1 of the hole 211or a contact state of the first component 200 and the ridge line A1D1 ofthe hole 211, the table storing unit 103 to store the state and statetransitions. Therefore, it is possible to reduce a computation amountrequired for the discrimination of the contact state of the firstcomponent 200 and the second component 210.

Third Embodiment

In an example explained in a third embodiment, any one of the vertexesof the first component 200 shown in FIG. 13 is moved from a state inwhich the vertex is put in the hole 211 of the second component 210until the vertex comes into contact with each direction of the xydirection to fit in the first component 200 and the second component 210each other.

The robot apparatus according to this embodiment changes a contact stateof the first component and the second component to a first contactstate, changes the contact state to a second contact state after thefirst contact state, and changes the contact state to a third contactstate after the second contact state to fit in the first component andthe second component each other. Further, in the third contact state,the robot apparatus sequentially transitions the first component to beattached to (fit in) the hole of the second component along a surface ofthe first component in contact with the hole of the second component.

The contact state of the first component 200 and the second component210 is a form of the first component 200 and the second component 210.The contact state is a state including a state in which the firstcomponent 200 and the second component 210 are in point contact witheach other (a first contact state), a state in which the first component200 and the second component 210 are in line contact with each other (asecond contact state), a state in which the first component 200 and thesecond component 210 are in surface contact with each other (a thirdcontact state), and a state in which the first component 200 is put inthe hole 211. The first to third contact states are the same as thefirst to third contact states in the second embodiment.

The configuration of the robot apparatus 1 is the same as theconfiguration shown in FIG. 1 in the first embodiment. The configurationof the robot control apparatus 10 is the same as the configuration shownin FIG. 3 in the first embodiment. An absolute coordinate system and anobject coordinate system in the first component 200 and the secondcomponent 210 and vertexes in the first component 200 and the secondcomponent 210 are the same as the absolute coordinate system and theobject coordinate system and the vertexes shown in FIG. 13 in the secondembodiment.

Preconditions in this embodiment are as explained below.

1. In an initial posture, any one of the vertexes E1, F1, G1, and H1 ofthe first component 200 is present in the surface a1b1c1d1 representinga region of the hole 211 of the second component 210. That is, only onevertex of the first component is present in the surface a1b1c1d1 of theregion of the hole 211.

2. It is assumed that an error of the initial posture of the firstcomponent 200 and a posture of a final target state is small. That is, arange of an angle representing an error of a posture of the objectcoordinate system viewed from the absolute coordinate system is −10[deg] to +10 [deg] or less.

3. Transition to a contact state clearly away from target position andposture is not taken into account.

4. A compliance center is present at the origin of the object coordinatesystem and has a damping characteristic.

5. The robot control apparatus 10 performs fixed operation from theinitial posture and operates the first component 200 to turn around thevertex a1 of the hole 211 of the second component 210 once. That is, therobot control apparatus 10 controls the first component 200 to move fromthe initial posture in the negative direction of the x-axis of theabsolute coordinate system until the first component 200 is brought intocontact with the ridge line a1d1 of the hole 211. Subsequently, afterbringing the first component 200 into contact with the ridge line a1d1of the hole 211, the robot control apparatus 10 controls the firstcomponent 200 to move in the negative direction of the y-axis of theabsolute coordinate system to be brought into contact with the ridgeline a1b1 of the hole 211.

Transition information and detection values and command values of theforce sensor 20 d stored in the table storing unit 103 are explained.

First, the transition information for each of the vertexes of the firstcomponent 200 stored in the table storing unit 103 is explained.

FIG. 25 is a state transition diagram based on transition informationafter a state in which the vertex E1 of the first component 200 is putin the hole 211 stored in the table storing unit 103 according to thisembodiment. FIG. 26 is a state transition diagram based on transitioninformation of the vertex F1 of the first component 200 stored in thetable storing unit 103 according to this embodiment. FIG. 27 is a statetransition diagram based on transition information after a state inwhich the vertex G1 of the first component 200 is put in the hole 211stored in the table storing unit 103 according to this embodiment. FIG.28 is a state transition diagram based on transition information after astate in which the vertex H1 of the first component 200 is put in thehole 211 stored in the table storing unit 103 according to thisembodiment.

The transition information for each of the vertexes stored in the tablestoring unit 103 is, for example, information for transitioning thefirst component 200 as indicated by arrows t201 to t261 from the initialposture k1 to the state p201, from the initial posture k1 to the statep202, and from the state p201 to the state tp201 in FIG. 25. Thetransition information in the case of the vertex E1 shown in FIG. 25 isstored in association with one another. Similarly, the transitioninformation in the case of the vertex F1 shown in FIG. 26 is stored inassociation with one another. The transition information in the case ofthe vertex G1 shown in FIG. 27 is stored in association with oneanother. The transition information in the case of the vertex H1 shownin FIG. 28 is stored in association with one another.

In the following explanation, FIGS. 25 to 28 are referred to asrelations of state transitions at the vertexes.

In an example shown in FIG. 25, transition information stored in thetable storing unit 103 is as explained below. As indicated by arrowst201 and t202, the next target state of the initial posture k11 is thestate p201 or p202. As indicated by arrows t211 and t212, the nexttarget state of the state p201 is the state tp201 or tp202. As indicatedby arrow t223, the next target state of the state p204 is the state1203. As indicated by arrow t224, the next target state of the state1202 is the state 1201. As indicated by arrow t231, the next targetstate of the state 1201 is the state s201. As indicated by arrow t232,the next target state of the state 1203 is the state s202. As indicatedby arrow t241, the next target state of the state s201 is the state1208. As indicated by arrow t242, the next target state of the states202 is the state 1209. As indicated by arrows t251 and t252, the nexttarget state of the states 1208 and 1209 is the state s203. As indicatedby arrow t261, the next target state of the state s203 is the states204.

The initial posture k11 is a state in which the vertex E1 of the firstcomponent 200 is put in the hole 211. The states p201 and p202 representa contact state of the first component 200 and the hole 211 after thefirst component 200 is moved from the initial posture k11 in thenegative direction of the x-axis direction. In this state, the vertex E1of the first component 200 is in contact with the ridge line a1b1 of thehole 211.

In the state p201, the side A1E1 of the first component 200 and theridge line a1d1 of the hole 211 are in point contact with each other atone point. In the state p202, the side E1H1 of the first component 200and the ridge line a1d1 of the hole 211 are in point contact with eachother at one point. In the state tp201, the first component 200 and thehole 211 are in point contact with each other at two points where theside A1E1 of the first component 200 and the ridge line a1d1 of the hole211 are in contact and the side E1F1 of the first component 200 and theridge line a1b1 of the hole 211 are in contact. In the state tp202, theside A1E1 of the first component 200 and the ridge line a1 of the hole211 are in point contact with each other at one point. In the statetp204, the first component 200 and the hole 211 are in point contactwith each other at two points where the side E1H1 of the first component200 and the ridge line a1d1 of the hole 211 are in contact and the sideA1E1 of the first component 200 and the ridge line a1b1 of the hole 211are in contact.

In the state 1201, the surface A1D1H1E1 of the first component 200 andthe ridge line a1d1 of the hole 211 are in line contact with each otherand a surface A1B1F1E1 of the first component 200 and a surface a1b1f1e1of the hole 211 are in surface contact with each other. In the state1202, the surface A1B1F1E1 of the first component 200 and the ridge linea1d1 of the hole 211 are in line contact with each other or the surfaceA1B1F1E1 of the first component 200 and the vertex a1 of the hole 211are in point contact with each other. In the state 1203, the surfaceA1B1F1E1 of the first component 200 and the ridge line a1b1 of the hole211 are in line contact with each other and the surface A1D1H1E1 of thefirst component 200 and a surface a1d1h1e1 of the hole 211 are insurface contact with each other. In the state 1208, the surface A1D1H1E1of the first component 200 and the ridge line a1d1 of the hole 211 arein line contact with each other and the surface A1B1F1E1 of the firstcomponent 200 and the surface a1b1f1e1 of the hole 211 are in surfacecontact with each other. In the state 1209, the surface A1B1F1E1 of thefirst component 200 and the ridge line a1b1 of the hole 211 are in linecontact with each other and the surface A1D1H1E1 of the first component200 and the surface a1d1h1e1 of the hole 211 are in surface contact witheach other.

In the state s201, the surface A1D1H1E1 of the first component 200 andthe ridge line a1d1 of the hole 211 are in line contact with each other,the surface E1F1G1H1 of the first component 200 and the ridge line bidof the hole 211 are in line contact with each other, and the surfaceA1B1F1E1 of the first component 200 and the surface a1b1f1e1 of the hole211 are in surface contact with each other. In the state s202, thesurface A1B1F1E1 of the first component 200 and the ridge line a1d1 ofthe hole 211 are in line contact with each other, the surface E1F1G1H1of the first component 200 and the ridge line c1d1 of the hole 211 arein line contact with each other, and the surface A1D1H1E1 of the firstcomponent 200 and the surface a1b1f1e1 of the hole 211 are in surfacecontact with each other. In the state s203, the surface A1B1F1E1 of thefirst component 200 and the surface a1b1f1e1 of the hole 211 are insurface contact with each other and the surface A1D1H1E1 of the firstcomponent 200 and the surface a1d1h1e1 of the hole 211 are in surfacecontact with each other. In the state s204, the surface A1B1F1E1 of thefirst component 200 and the surface a1b1h1e1 of the hole 211 are insurface contact with each other, the surface A1D1H1E1 of the firstcomponent 200 and the surface a1d1h1e1 of the hole 211 are in surfacecontact with each other, and the surface E1F1G1H1 of the first component200 and the surface e1f1g1h1 of the hole 211 are in surface contact witheach other.

In an example shown in FIG. 26, transition information stored in thetable storing unit 103 is as explained below. As indicated by arrowt301, the next target state of the initial posture k12 is the statep301. As indicated by arrows t311 and t312, the next target state of thestate p301 is the state tp303 or tp304. As indicated by arrow t321, thenext target state of the state tp303 is the state 1301. As indicated byarrow t322, the next target state of the state tp304 is the state 1302.As indicated by arrow t323, the next target state of the state 1301 isthe state 1302. As indicated by arrow t331, the next target state of thestate 1302 is the state s201. As indicated by arrow t341, the nexttarget state of the state s301 is the state 1308. As indicated by arrowt351, the next target state of the state 1308 is the state s304. Asindicated by arrow t361, the next target state of the state s304 is thestate s306.

The initial posture k12 is a state in which the vertex F1 of the firstcomponent 200 is put in the hole 211. The state p301 represents acontact state of the first component 200 and the hole 211 after thefirst component 200 is moved from the initial posture k12 in thenegative direction of the x-axis direction. In this state, the vertex F1of the first component 200 is in contact with the ridge line a1b1 of thehole 211.

In the state p301, the side E1F1 of the first component 200 and theridge line a1d1 of the hole 211 are in point contact with each other atone point. In the state tp303, the side E1F1 of the first component 200and the vertex a1 of the hole 211 are in point contact with each otherat one point. In the state tp304, the first component 200 and the hole211 are in point contact with each other at two points where the sideE1F1 of the first component 200 and the ridge line a1d1 of the hole 211are in contact and the side B1F1 of the first component 200 and theridge line a1b1 of the hole 211 are in contact.

In the state 1301, the side E1F1 of the first component 200 and theridge line a1b1 of the hole 211 are in line contact with each other andthe side E1F1 of the first component 200 and the vertex a1 of the hole211 are in point contact with each other. In the state 1302, the surfaceE1F1G1H1 of the first component 200 and the ridge line a1d1 of the hole211 are in line contact with each other or the surface A1B1F1E1 of thefirst component 200 and the surface a1d1f1e1 of the hole 211 are insurface contact with each other. In the state 1308, the surface B1C1G1F1of the first component 200 and the ridge line bid of the hole 211 are inline contact with each other or the surface A1B1F1E1 of the firstcomponent 200 and the surface a1b1f1e1 of the hole 211 are in surfacecontact with each other.

In the state s301, the surface B1C1F1G1 of the first component 200 andthe ridge line bid of the hole 211 are in line contact with each other,the surface E1F1G1H1 of the first component 200 and the ridge line a1d1of the hole 211 are in line contact with each other, and the surfaceA1B1F1E1 of the first component 200 and the surface a1b1f1e1 of the hole211 are in surface contact with each other. In the state s302, thesurface A1B1F1E1 of the first component 200 and the surface a1b1f1e1 ofthe hole 211 are in surface contact with each other and the surfaceB1C1G1F1 of the first component 200 and the surface b1c1g1f1 of the hole211 are in surface contact with each other. In the state s306, thesurface A1B1F1E1 of the first component 200 and the surface a1b1f1e1 ofthe hole 211 are in surface contact with each other, the surfaceB1C1G1F1 of the first component 200 and the surface b1c1g1f1 of the hole211 are in surface contact with each other, and the surface E1F1G1H1 ofthe first component 200 and the surface e1f1g1h1 of the hole 211 are insurface contact with each other.

In an example shown in FIG. 27, transition information stored in thetable storing unit 103 is as explained below. As indicated by arrowt401, the next target state of the initial posture k13 is the statep401. As indicated by arrows t411 and t412, the next target state of thestate p401 is the state tp401 or tp402. As indicated by arrow t413, thenext target state of the state tp401 is the state tp402. As indicated byarrow t421, the next target state of the state tp402 is the state 1401.As indicated by arrow t431, the next target state of the state 1401 isthe state s401. As indicated by arrow t441, the next target state of thestate s401 is the state 1408. As indicated by arrow t451, the nexttarget state of the state 1408 is the state s404. As indicated by arrowt461, the next target state of the state s404 is the state s406.

The initial posture k13 is a state in which the vertex G1 of the firstcomponent 200 is put in the hole 211. The state p401 represents acontact state of the first component 200 and the hole 211 after thefirst component 200 is moved from the initial posture k13 in thenegative direction of the x-axis direction. In this state, the vertex G1of the first component 200 is in contact with the ridge line a1b1 of thehole 211.

In the state p401, the side H1G1 of the first component 200 and theridge line a1d1 of the hole 211 are in point contact with each other atone point. In the state tp401, the side H1G1 of the first component 200and the vertex a1 of the hole 211 are in point contact with each otherat one point. In the state tp402, the first component 200 and the hole211 are in point contact with each other at two points where the sideH1G1 of the first component 200 and the ridge line a1d1 of the hole 211are in contact and the side F1G1 of the first component 200 and theridge line a1b1 of the hole 211 are in contact.

In the state 1401, the surface E1F1G1H1 of the first component 200 andthe ridge line a1d1 of the hole 211 are in line contact with each otherand the surface D1C1G1H1 of the first component 200 and the surfaced1c1g1h1 of the hole 211 are in surface contact with each other. In thestate 1408, the surface B1C1G1F1 of the first component 200 and theridge line bid of the hole 211 are in line contact with each other orthe surface D1C1G1H1 of the first component 200 and the surface d1c1g1h1of the hole 211 are in surface contact with each other.

In the state s401, the surface B1C1F1G1 of the first component 200 andthe ridge line b1c1 of the hole 211 are in line contact with each other,the surface E1F1G1H1 of the first component 200 and the ridge line a1d1of the hole 211 are in line contact with each other, and the surfaceD1C1G1H1 of the first component 200 and the surface d1c1g1h1 of the hole211 are in surface contact with each other. In the state s404, thesurface B1C1G1F1 of the first component 200 and the surface b1c1g1f1 ofthe hole 211 are in surface contact with each other and the surfaceD1C1G1H1 of the first component 200 and the surface d1c1g1h1 of the hole211 are in surface contact with each other. In the state s406, thesurface B1C1G1F1 of the first component 200 and the surface b1c1g1f1 ofthe hole 211 are in surface contact with each other, the surfaceD1C1G1H1 of the first component 200 and the surface d1c1g1h1 of the hole211 are in surface contact with each other, and the surface E1F1G1H1 ofthe first component 200 and the surface e1f1g1h1 of the hole 211 are insurface contact with each other.

In an example shown in FIG. 28, transition information stored in thetable storing unit 103 is as explained below. As indicated by arrowst501 and t502, the next target state of the initial posture k14 is thestate p501 or p502. As indicated by arrow t511, the next target state ofthe state p501 is the state tp501. As indicated by arrow t512 or t513,the next target state of the state p502 is the state tp504 or tp505. Asindicated by arrow t521, the next target state of the state tp501 is thestate 1503. As indicated by arrow t522, the next target state of thestate tp504 is the state 1503. As indicated by arrow t523, the nexttarget state of the state tp505 is the state 1504. As indicated by arrowt524, the next target state of the state 1504 is the state 1503. Asindicated by arrow t531, the next target state of the state 1503 is thestate s501. As indicated by arrow t541, the next target state of thestate s501 is the state 1508. As indicated by arrow t551, the nexttarget state of the state 1508 is the state s503. As indicated by arrowt561, the next target state of the state s503 is the state s504.

The initial posture k14 is a state in which the vertex H1 of the firstcomponent 200 is put in the hole 211. The states p501 and p502 representa contact state of the first component 200 and the hole 211 after thefirst component 200 is moved from the initial posture k14 in thenegative direction of the x-axis direction. In this state, the vertex H1of the first component 200 is in contact with the ridge line a1b1 or theridge line d1c1 of the hole 211.

In the state p501, the side D1H1 of the first component 200 and theridge line a1d1 of the hole 211 are in point contact with each other atone point. In the state p502, the side E1H1 of the first component 200and the ridge line a1d1 of the hole 211 are in point contact with eachother at one point. In the state tp501, the first component 200 and thehole 211 are in point contact with each other at two points where theside D1H1 of the first component 200 and the ridge line a1d1 of the hole211 are in contact and the side E1H1 of the first component 200 and theridge line a1b1 of the hole 211 are in contact. In the state tp504, thefirst component 200 and the hole 211 are in point contact with eachother at two points where the side E1H1 of the first component 200 andthe ridge line a1d1 of the hole 211 are in contact and the side G1H1 ofthe first component 200 and the ridge line a1b1 of the hole 211 are incontact. In the state tp505, the side E1H1 of the first component 200and the vertex a1 of the hole 211 are in point contact with each otherat one point.

In the state 1503, the surface E1F1G1H1 of the first component 200 andthe ridge line a1b1 of the hole 211 are in line contact with each otherand a surface A1D1H1E1 of the first component 200 and a surface a1d1h1e1of the hole 211 are in surface contact with each other. In the state1504, the surface A1D1H1E1 of the first component 200 and the ridge linea1d1 of the hole 211 are in line contact with each other or the sideE1H1 of the first component 200 and the vertex a1 of the hole 211 are inpoint contact with each other. In the state 1508, the surface D1C1G1H1of the first component 200 and the ridge line c1d1 of the hole 211 arein line contact with each other and the surface A1D1H1E1 of the firstcomponent 200 and a surface a1d1h1e1 of the hole 211 are in surfacecontact with each other.

In the state s501, the surface E1F1G1H1 of the first component 200 andthe ridge line a1b1 of the hole 211 are in line contact with each other,the surface D1C1G1H1 of the first component 200 and the ridge line c1d1of the hole 211 are in line contact with each other, and the surfaceA1D1H1E1 of the first component 200 and the surface a1d1h1e1 of the hole211 are in surface contact with each other. In the state s503, thesurface D1C1G1H1 of the first component 200 and the surface d1c1g1h1 ofthe hole 211 are in surface contact with each other and the surfaceA1D1H1E1 of the first component 200 and the surface a1d1h1e1 of the hole211 are in surface contact with each other. In the state s504, thesurface D1C1G1H1 of the first component 200 and the surface d1c1g1h1 ofthe hole 211 are in surface contact with each other, the surfaceA1D1H1E1 of the first component 200 and the surface a1d1h1e1 of the hole211 are in surface contact with each other, and the surface E1F1G1H1 ofthe first component 200 and the surface e1f1g1h1 of the hole 211 are insurface contact with each other.

State and Detection Values of the Force Sensor in the Case of the VertexE1

Detection values after discretization measured in advance and stored inthe table storing unit 103 when an initial posture is a state in whichthe vertex E1 of the first component 200 is put in the hole 211 areexplained.

FIG. 29 is a diagram showing detection values after discretization ofthe states p201 and p202 detected by the force sensor 20 d and stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex E1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 30 is a diagram showing detectionvalues after discretization of the states tp201 to tp204 detected by theforce sensor 20 d and stored in the table storing unit 103 when theinitial posture is the state in which the vertex E1 of the firstcomponent 200 is put in the hole 211 according to this embodiment. FIG.31 is a diagram showing detection values after discretization of thestates 1201 to 1209 detected by the force sensor 20 d and stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex E1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 32 is a diagram showing detectionvalues after discretization of the states s201 to s204 detected by theforce sensor 20 d and stored in the table storing unit 103 when theinitial posture is the state in which the vertex E1 of the firstcomponent 200 is put in the hole 211 according to this embodiment.

As shown in FIG. 29, in the table storing unit 103, forces (^(o)f_(x),^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system and moments(^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinate system of thestates p201 and p202 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state p201 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1,^(obj)nx=0, ^(obj)ny=, and ^(obj)nz=1.

Combinations of discretized detection values in the absolute coordinatesystem and discretized detection values in the object coordinate systemare referred to as second detection values in this embodiment.

As shown in FIG. 30, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the states tp201, tp202, and tp204 are stored in associationwith each other.

For example, as shown in a second row, detection values afterdiscretization of the state tp201 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(obj)nx=−1, ^(obj)ny=0, and ^(obj)nz=0.

As shown in FIG. 31, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and moments (^(o)nx, ^(o)ny, ^(o)nz)in the absolute coordinate system of the states 1201 to 1203, 1208, and1209 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state 1201 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(o)nx=0, ^(o)ny=1, and ^(o)nz=0.

As shown in FIG. 32, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states s201, s202,s203, and s204 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state s201 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1,^(o)nx=0, ^(o)ny=0, and ^(o)nz=0.

State and Detection Values of the Force Sensor in the Case of the VertexF1

Detection values after discretization measured in advance and stored inthe table storing unit 103 when an initial posture is a state in whichthe vertex F1 of the first component 200 is put in the hole 211 areexplained.

FIG. 33 is a diagram showing detection values after discretization ofthe states p301 to p303 detected by the force sensor 20 d and stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex F1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 34 is a diagram showing detectionvalues after discretization of the states tp303 and tp304 detected bythe force sensor 20 d and stored in the table storing unit 103 when theinitial posture is the state in which the vertex F1 of the firstcomponent 200 is put in the hole 211 according to this embodiment. FIG.35 is a diagram showing detection values after discretization of thestates 1301 to 1308 detected by the force sensor 20 d and stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex F1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 36 is a diagram showing detectionvalues after discretization of the state s301 detected by the forcesensor 20 d and stored in the table storing unit 103 when the initialposture is the state in which the vertex F1 of the first component 200is put in the hole 211 according to this embodiment.

As shown in FIG. 33, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the state p301 are stored in association with each other.

As shown in a second row, detection values after discretization of thestate p301 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1, ^(obj)nx=−1, ^(obj)ny=1,and ^(obj)nz=0.

As shown in FIG. 34, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the states tp303 and tp304 are stored in association with eachother.

For example, as shown in a second row, detection values afterdiscretization of the state tp303 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(obj)nx=0, ^(obj)ny=0, and ^(obj)nz=1.

As shown in FIG. 35, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states 1301, 1302, and1308 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state 1301 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(o)nx=−1, ^(o)ny=1, and ^(o)nz=0.

As shown in FIG. 36, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states s301, s304, ands306 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state s301 are ^(o)fx=0, ^(o)fy=1, ^(o)fz=1,^(o)nx=0, ^(o)ny=0, and ^(o)nz=0.

State and Detection Values of the Force Sensor in the Case of the VertexG1

Detection values after discretization measured in advance and stored inthe table storing unit 103 when an initial posture is a state in whichthe vertex G1 of the first component 200 is put in the hole 211 areexplained.

FIG. 37 is a diagram showing detection values after discretization ofthe states p401 to p403 detected by the force sensor 20 d and stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex G1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 38 is a diagram showing detectionvalues after discretization of the states tp401 and tp402 detected bythe force sensor 20 d and stored in the table storing unit 103 when theinitial posture is the state in which the vertex G1 of the firstcomponent 200 is put in the hole 211 according to this embodiment. FIG.39 is a diagram showing detection values after discretization of thestates 1401 to 1408 detected by the force sensor 20 d and stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex G1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 40 is a diagram showing detectionvalues after discretization of the state s401 detected by the forcesensor 20 d and stored in the table storing unit 103 when the initialposture is the state in which the vertex G1 of the first component 200is put in the hole 211 according to this embodiment.

As shown in FIG. 37, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the state p401 are stored in association with each other.

As shown in a second row, detection values after discretization of thestate p401 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1, ^(obj)nx=1, ^(obj)ny=1, and^(obj)nz=−1.

As shown in FIG. 38, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the states tp401 and tp402 are stored in association with eachother.

For example, as shown in a second row, detection values afterdiscretization of the state tp401 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(obj)nx=0, ^(obj)ny=−1, and ^(obj)nz=0.

As shown in FIG. 39, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states 1401 and 1408are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state 1401 are ^(o)fx=1, ^(o)fy=−1, ^(o)fz=1,^(o)nx=0, ^(o)ny=−1, and ^(o)nz=0.

As shown in FIG. 40, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states s401, s404, ands406 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state s401 are ^(o)fx=0, ^(o)fy=−1, ^(o)fz=1,^(o)nx=0, ^(o)ny=0, and ^(o)nz=0.

State and Detection Values of the Force Sensor in the Case of the VertexH1

Detection values after discretization measured in advance and stored inthe table storing unit 103 when an initial posture is a state in whichthe vertex H1 of the first component 200 is put in the hole 211 areexplained.

FIG. 41 is a diagram showing detection values after discretization ofthe states p501 to p503 detected by the force sensor 20 d and stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex H1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 42 is a diagram showing detectionvalues after discretization of the states tp501 to tp505 detected by theforce sensor 20 d and stored in the table storing unit 103 when theinitial posture is the state in which the vertex H1 of the firstcomponent 200 is put in the hole 211 according to this embodiment. FIG.43 is a diagram showing detection values after discretization of thestates 1503 to 1508 detected by the force sensor 20 d and stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex H1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 44 is a diagram showing detectionvalues after discretization of the state s501 detected by the forcesensor 20 d and stored in the table storing unit 103 when the initialposture is the state in which the vertex H1 of the first component 200is put in the hole 211 according to this embodiment.

As shown in FIG. 41, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the states p501 and p502 are stored in association with eachother.

For example, as shown in a second row, detection values afterdiscretization of the state p501 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1,^(obj)nx=0, ^(obj)ny=1, and ^(obj)nz=−1.

As shown in FIG. 42, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system andthe moments (^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinatesystem of the states tp501, tp504, and tp505 are stored in associationwith each other.

For example, as shown in a second row, detection values afterdiscretization of the state tp501 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(obj)nx=0, ^(obj)ny=−1, and ^(obj)nz=0.

As shown in FIG. 43, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states 1503, 1504, and1508 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state 1503 are ^(o)fx=1, ^(o)fy=1, ^(o)fz=1,^(o)nx=1, ^(o)ny=0, and ^(o)nz=0.

As shown in FIG. 44, in the table storing unit 103, the forces(^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) and the moments (^(o)nx, ^(o)ny,^(o)nz) in the absolute coordinate system of the states s501, s503, ands504 are stored in association with each other.

For example, as shown in a second row, detection values afterdiscretization of the state s501 are ^(o)fx=1, ^(o)fy=0, ^(o)fz=1,^(o)nx=0, ^(o)ny=0, and ^(o)nz=0.

In the examples explained with reference to FIGS. 29, 30, 33, 34, 37,38, 41, and 42, in the table storing unit 103, the forces (^(o)f_(x),^(o)f_(y), ^(o)f_(z)) in the absolute coordinate system and the moments(^(obj)nx, ^(obj)ny, ^(obj)nz) in the object coordinate system arestored in association with each other. However, forces and momentsstored in the table storing unit 103 are not limited to this. In thetable storing unit 103, the forces (^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) andthe moments (^(o)nx, ^(o)ny, ^(o)nz) in the absolute coordinate systemmay be stored in association with each other and the forces(^(obj)f_(x), ^(obj)f_(y), ^(obj)f_(z)) and the moment (^(obj)nx,^(obj)ny, ^(obj)nz) in the object coordinate system may be stored inassociation with each other. In this case, the selecting unit 104 mayread out the forces (^(o)f_(x), ^(o)f_(y), ^(o)f_(z)) in the absolutecoordinate system and the moment (^(obj)nx, ^(obj)ny, ^(obj)nz) in theobject coordinate system stored in the table storing unit 103 anddiscriminate a contact state of the first component 200 and the secondcomponent 210 on the basis of a result of the readout.

The command values stored in the table storing unit 103 are explainedwith reference to FIGS. 45 to 60.

As shown in FIGS. 45 to 60, in the table storing unit 103, angles(θ_(x), θ_(y), θ_(z)) and forces (f_(x), f_(y), f_(z)), which arecommand values for controlling the manipulator unit 20 b and thegripping unit 20 c, are stored in association with each other in a tableformat for each of contact states transitioned from the present contactstates to the next target states. In FIGS. 45 to 60, a sign “→”represents a state transition from the present state to the next state.The command values shown in FIGS. 45 to 60 are values of examples as inthe second embodiment.

Command Values in the Case of the Vertex E1

Command values stored in the table storing unit 103 when the initialposture is the state in which the vertex E1 of the first component 200is put in the hole 211 are explained.

FIG. 45 is a diagram for explaining command values for each of statetransitions from the states p201 and p202 stored in the table storingunit 103 when the initial posture is the state in which the vertex E1 ofthe first component 200 is put in the hole 211 according to thisembodiment. FIG. 46 is a diagram for explaining command values for eachof state transitions from the states tp201, tp202, and tp204 stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex E1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 47 is a diagram for explainingcommand values for each of state transitions from the states 1201, 1202,1204, 1208, and 1209 stored in the table storing unit 103 when theinitial posture is the state in which the vertex E1 of the firstcomponent 200 is put in the hole 211 according to this embodiment. FIG.48 is a diagram for explaining command values for each of statetransitions from the states s201, s202, and s203 stored in the tablestoring unit 103 when the initial posture is the state in which thevertex E1 of the first component 200 is put in the hole 211 according tothis embodiment.

As shown in FIG. 45, in the table storing unit 103, command values forstate transitions from the state p201 to the state tp201, from the statep201 to the state tp202, and from the state p202 to the state tp204 arestored.

For example, as shown in a second row, command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state p201to the state tp201 are (0 [deg], 0 [deg], 0 [deg], 0 [N], −1 [N], 0[N]).

As shown in FIG. 46, in the table storing unit 103, command values forstate transitions from the state tp201 to the state 1201, from the statetp202 to the state 1202, and from the state tp204 to the state 1203 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the statetp201 to the state 1201 are (0 [deg], 0 [deg], −45 [deg], −1 [N], −1[N], 0 [N]).

As shown in FIG. 47, in the table storing unit 103, command values forstate transitions from the state 1201 to the state s201, from the state1202 to the state 1201, from the state 1203 to the state s202, from thestate 1208 to the state s203, and from the state 1209 to the state s203are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1201to the state s201 are (0 [deg], 0 [deg], −45 [deg], −1 [N], −1 [N], 0[N]).

As shown in FIG. 48, in the table storing unit 103, command values forstate transitions from the state s201 to the state 1208, from the states202 to the state 1209, and from the state s203 to the state s204 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state s201to the state 1208 are (0 [deg], 0 [deg], −45 [deg], −1 [N], −1 [N], 0[N]).

Command Values in the Case of the Vertex F1

Command values stored in the table storing unit 103 when the initialposture is the state in which the vertex F1 of the first component 200is put in the hole 211 are explained.

FIG. 49 is a diagram for explaining command values for each of statetransitions from the states p301, p302, and p303 stored in the tablestoring unit 103 when the initial posture is the state in which thevertex F1 of the first component 200 is put in the hole 211 according tothis embodiment. FIG. 50 is a diagram for explaining command values foreach of state transitions from the states tp303 and tp304 stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex F1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 51 is a diagram for explainingcommand values for each of state transitions from the states 1301, 1302,and 1308 stored in the table storing unit 103 when the initial postureis the state in which the vertex F1 of the first component 200 is put inthe hole 211 according to this embodiment. FIG. 52 is a diagram forexplaining command values for each of state transitions from the statess301, s302, and s303 stored in the table storing unit 103 when theinitial posture is the state in which the vertex F1 of the firstcomponent 200 is put in the hole 211 according to this embodiment.

As shown in FIG. 49, in the table storing unit 103, command values forstate transitions from the state p301 to the state tp303 and from thestate p301 to the state tp304 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state p301to the state tp303 are (0 [deg], 0 [deg], 0 [deg], 0 [N], −1 [N], 0[N]).

As shown in FIG. 50, in the table storing unit 103, command values forstate transitions from the state tp303 to the state 1301 and from thestate tp304 to the state 1302 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the statetp303 to the state 1301 are (0 [deg], 0 [deg], −45 [deg], 0 [N], −1 [N],0 [N]).

As shown in FIG. 51, in the table storing unit 103, command values forstate transitions from the state 1301 to the state 1302, from the state1302 to the state s301, and from the state 1308 to the state s304 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1301to the state 1302 are (0 [deg], 0 [deg], −45 [deg], 0 [N], −1 [N], 0[N]).

As shown in FIG. 52, in the table storing unit 103, command values forstate transitions from the state s301 to the state 1308, from the state1308 to the state s304, and from the state s304 to the state s306 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state s301to the state 1308 are (0 [deg], 45 [deg], 0 [deg], 1 [N], −1 [N], 0[N]).

Command Values in the Case of the Vertex G1

Command values stored in the table storing unit 103 when the initialposture is the state in which the vertex G1 of the first component 200is put in the hole 211 are explained.

FIG. 53 is a diagram for explaining command values for each of statetransitions from the states p401 and p402 stored in the table storingunit 103 when the initial posture is the state in which the vertex G1 ofthe first component 200 is put in the hole 211 according to thisembodiment. FIG. 54 is a diagram for explaining command values for eachof state transitions from the states tp401 and tp402 stored in the tablestoring unit 103 when the initial posture is the state in which thevertex G1 of the first component 200 is put in the hole 211 according tothis embodiment. FIG. 55 is a diagram for explaining command values foreach of state transitions from the states 1401 and 1408 stored in thetable storing unit 103 when the initial posture is the state in whichthe vertex G1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 56 is a diagram for explainingcommand values for each of state transitions from the states s401 ands404 stored in the table storing unit 103 when the initial posture isthe state in which the vertex G1 of the first component 200 is put inthe hole 211 according to this embodiment.

As shown in FIG. 53, in the table storing unit 103, command values forstate transitions from the state p401 to the state tp401 and from thestate p401 to the state tp402 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state p401to the state tp401 are (0 [deg], 0 [deg], 0 [deg], 0 [N], −1 [N], 0[N]).

As shown in FIG. 54, in the table storing unit 103, command values forstate transitions from the state tp401 to the state tp402 and from thestate tp402 to the state 1401 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the statetp401 to the state tp402 are (0 [deg], 0 [deg], −45 [deg], 0 [N], 0 [N],0 [N]).

As shown in FIG. 55, in the table storing unit 103, command values forstate transitions from the state 1401 to the state s401 and from thestate 1408 to the state s404 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1401to the state s401 are (0 [deg], 45 [deg], 0 [deg], 0 [N], 1 [N], 0 [N]).

As shown in FIG. 56, in the table storing unit 103, command values forstate transitions from the state s401 to the state 1408, from the state1408 to the state s404, and from the state s404 to the state s406 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state s401to the state 1408 are (0 [deg], −45 [deg], 0 [deg], 1 [N], 1 [N], 0[N]).

Command Values in the Case of the Vertex H1

Command values stored in the table storing unit 103 when the initialposture is the state in which the vertex H1 of the first component 200is put in the hole 211 are explained.

FIG. 57 is a diagram for explaining command values for each of statetransitions from the states p501 and p502 stored in the table storingunit 103 when the initial posture is the state in which the vertex H1 ofthe first component 200 is put in the hole 211 according to thisembodiment. FIG. 58 is a diagram for explaining command values for eachof state transitions from the states tp501, tp504, and tp505 stored inthe table storing unit 103 when the initial posture is the state inwhich the vertex H1 of the first component 200 is put in the hole 211according to this embodiment. FIG. 59 is a diagram for explainingcommand values for each of state transitions from the states 1503, 1504,and 1508 stored in the table storing unit 103 when the initial postureis the state in which the vertex H1 of the first component 200 is put inthe hole 211 according to this embodiment. FIG. 60 is a diagram forexplaining command values for each of state transitions from the statess501 and s503 stored in the table storing unit 103 when the initialposture is the state in which the vertex H1 of the first component 200is put in the hole 211 according to this embodiment.

As shown in FIG. 57, in the table storing unit 103, command values forstate transitions from the state p501 to the state tp501, from the statep502 to the state tp504, and from the state p502 to the state tp505 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state p501to the state tp501 are (0 [deg], 0 [deg], 0 [deg], 0 [N], −1 [N], 0[N]).

As shown in FIG. 58, in the table storing unit 103, command values forstate transitions from the state tp501 to the state 1503, from the statetp504 to the state 1503, and from the state tp505 to the state 1504 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the statetp501 to the state tp503 are (0 [deg], 45 [deg], 45 [deg], −1 [N], −1[N], 0 [N]).

As shown in FIG. 59, in the table storing unit 103, command values forstate transitions from the state 1503 to the state s501, from the state1504 to the state 1503, and from the state 1508 to the state s503 arestored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state 1503to the state s501 are (−45 [deg], 0 [deg], 0 [deg], −1 [N], −1 [N], 0[N]).

As shown in FIG. 60, in the table storing unit 103, command values forstate transitions from the state s501 to the state 1508 and from thestate s503 to the state s504 are stored.

For example, as shown in a second row, the command values (θ_(x), θ_(y),θ_(z), f_(x), f_(y), f_(z)) for the state transition from the state s501to the state 1508 are (45 [deg], 0 [deg], 0 [deg], −1 [N], 1 [N], −1[N]).

The command values for each of the state transitions are shown in FIGS.45 to 60. However, these values may be grouped and stored in the tablestoring unit 103 or may be collectively stored in the table storing unit103 without being grouped.

A procedure for storing detection values (before and afterdiscretization) detected by the force sensor 20 d for each of contactstates detected in advance is performed in the same manner as the firstembodiment explained with reference to FIG. 10.

A procedure in which the robot control apparatus 10 discriminates thestates shown in FIGS. 25 to 28 and transitions the states is explained.

FIG. 61 is a flowchart of a procedure for discriminating a contact stateof the first component 200 and the second component 210 andtransitioning the contact state of the first component 200 and thesecond component 210 according to this embodiment.

Step S201

The control unit 105 causes the manipulator unit 20 b and the grippingunit 20 c to grip the first component 200 on the basis of control valuesstored in the control storing unit 106. Subsequently, the control unit105 controls, on the basis of the control values, the manipulator unit20 b and the gripping unit 20 c to move the gripped first component 200in the negative direction of the z-axis direction in the absolutecoordinate system shown in FIG. 13 with respect to the hole 211 of thesecond component 210. The control unit 105 controls, on the basis of thecontrol values, any one of the vertexes (E1, F1, G1, and H1) of thefirst component 200 to be put in the hole 211. For example, theselecting unit 104 discriminates, using image data picked up by theimage pickup apparatus 30, whether any one of the vertexes of the firstcomponent 200 is put in the hole 211. A state in which any one of thevertexes of the first component 200 is put in the hole 211 is a state ofany one of the initial postures k11 to k14 shown in FIGS. 25 to 28.

Step S202

The control unit 105 controls the manipulator unit 20 b and the grippingunit 20 c to move the gripped first component 200 in the negativedirection of the x-axis direction in the absolute coordinate systemshown in FIG. 13. This transition is the transition indicated by arrowst201 and t202 in FIG. 25, arrows t301 in FIG. 26, arrow t401 in FIG. 27,and arrows t501 and t502 in FIG. 28.

Steps S203 and S204

Steps S203 and S204 are processed in the same manner as steps S11 andS12 in the first embodiment (FIG. 11).

Step S205

The selecting unit 104 compares detection values after discretizationoutput by the discretizing unit 102 and the second detection valuesstored in the table storing unit 103. In this case, the detection valuesafter discretization to be compared are combinations of detection valuesafter discretization of forces in the absolute coordinate system anddetection values after discretization of moments in the objectcoordinate system.

Step S206

The selecting unit 104 discriminates, on the basis of a result of thecomparison, which of the states p201, p202, p301, p401, p501, and p502the contact state is.

Step S207

The selecting unit 104 discriminates, on the basis of a result of thediscrimination, a relation of which state transition among the statetransitions stored in the table storing unit 103 (FIGS. 25 to 28) isused.

For example, when discriminating that the contact state is the statep201, the selecting unit 104 selects a relation of the state transitionsat the vertex E1 stored in the table storing unit 103.

Step S208

The selecting unit 104 selects a state to which the contact state istransitioned using the selected relation of the state transitions andselects transition information on the basis of the selected state.Subsequently, the selecting unit 104 outputs the selected transitioninformation to the control unit 105.

For example, when determining in step S206 that the contact state is thestate p201, the selecting unit 104 selects the state tp201 or tp202 asthe state to which the contact state is transitioned. When there are aplurality of selectable states, the selecting unit 104 selects commandvalues on the basis of the order of priority set in advance. The orderof priority set in advance is, for example, state transitions for ashortest control procedure. For example, when the state tp201 isselected as the state to which the contact state is transitioned, theselecting unit 104 outputs, to the control unit 105, transitioninformation indicating that the contact state is transitioned from thestep P201 to the step tp201.

Step S209

The control unit 105 selects, on the basis of the transition informationoutput by the selecting unit 104, a command value stored in the tablestoring unit 103 and controls, on the basis of the selected commandvalue, the manipulator unit 20 b and the gripping unit 20 c that gripthe first component 200.

Steps S210 to S212

Steps S210 to S212 are processed in the same manner as steps S203 toS205.

In step S212, the detection values detected in advance and stored in thetable storing unit 103, which are compared with the detection valuesafter discretization to be compared, are any one of combinationsexplained below. The combinations of the detection values used forcomparison are combinations of detection values after discretization offorces in the absolute coordinate system and detection values afterdiscretization of moments in the object coordinate system andcombinations of detection values after discretization of forces anddetection values after discretization of moments in the absolutecoordinate system. It is determined on the basis of the statetransitions stored in the table storing unit 103 which of thecombinations is used to compare the detection values.

Specifically, in the case of the vertex E1, when the contact state isthe state p201, p202, tp201, tp202, or tp204, the selecting unit 104compares the detection values using the combination of the detectionvalues after discretization of the forces in the absolute coordinatesystem and the detection values after ternarization of the moments inthe object coordinate system. When the contact state is the state 1201,1202, 1203, 1208, 1209, or s201 to s204, the selecting unit 104 comparesthe detection values after discretization using the combinations of thedetection values after discretization of the forces in the absolutecoordinate system and the detection values after ternarization of themoments in the object coordinate system.

Step S213

The selecting unit 104 discriminates whether the number of statescoinciding with the detection values after discretization is one or twoamong the contact states stored in the table storing unit 103. Whendiscriminating that the number of the states coinciding with thedetection values is one (one in step S213), the selecting unit 104proceeds to step S215. When discriminating that the number of the statescoinciding with the detection values is two (two in step S213), theselecting unit 104 proceeds to step S214.

Step S214

When discriminating that the number of the states coinciding with thedetection values is two, the selecting unit 104 compares the detectionvalues after discretization of the object coordinate system and thedetection values after discretization of the object coordinate systemmeasured in advance and stored in the table storing unit 103.Subsequently, the selecting unit 104 selects transition information onthe basis of a result of the discrimination and outputs the selectedtransition information to the control unit 105.

Step S215

The control unit 105 discriminates, on the basis of the transitioninformation output by the selecting unit 104, whether the contact stateof the first component 200 and the second component 210 is a targetstate (a final target state). The final target state is the state s204shown in FIG. 25, the state s306 shown in FIG. 26, the state s406 shownin FIG. 27, or the state s504 shown in FIG. 28. When discriminating thatthe contact state of the first component 200 and the second component210 is not the target state (No in step S215), the control unit 105returns to step S208 and repeats the steps S208 to S215. Whendiscriminating that the contact state of the first component 200 and thesecond component 210 is the target state (Yes in step S215), the controlunit 105 ends the processing for transitioning the contact state of thefirst component 200 and the second component 210.

As explained above, when the robot apparatus 1 according to thisembodiment moves the first component 200 from a state in which any oneof the vertexes of the first component 200 is put in the hole 211 of thesecond component 210 until the vertex comes into contact with each ofthe directions of the xy direction and fits in the first component 200and the second component 210 each other, the robot apparatus 1determines a contact state of the first component 200 and the secondcomponent 210 on the basis of the detection values detected by the forcesensor 20 d included in the robot apparatus 1. The robot apparatus 1according to this embodiment selects, according to the determinedcontact state, transition information stored in the table storing unit103 and controls the contact state of the first component 200 and thesecond component 210. As a result, according to this embodiment, it ispossible to fit in the first component 200 and the second component 210each other even if the hole 211 of the second component 210 is notchamfered.

In the explanation in this embodiment, the vertexes are the vertexes E1,F1, G1, and H1. However, the vertexes are not limited to this. Thevertexes may be combinations of the vertexes A1, B1, C1, and D1, thevertexes B1, C1, G1, and F1, and the like according to the surface ofthe first component 200 inserted into the hole 211.

Fourth Embodiment

In the first to third embodiments, the robot including one arm(manipulator unit) is explained. In a fourth embodiment, an example of arobot including two arms is explained.

FIG. 62 is a schematic perspective view of a robot apparatus 1 aaccording to this embodiment. As shown in FIG. 62, the robot apparatus 1a includes a multi-joint robot 20′ and a main body 302.

Components same as the components in the first to third embodiments aredenoted by the same reference numerals and signs and explanation of thecomponents is omitted.

A robot control apparatus 10 a controls a manipulator unit (a first arm)20A and a manipulator unit (a second arm) 20B, a gripping unit 20 ac,and a hand 20Bc. The configuration of the robot control apparatus 10 ais the same as the configuration of the robot control apparatus 10explained in the third embodiment. In this embodiment, the robot controlapparatus 10 a is arranged on the inside of the main body 302. However,the robot control apparatus 10 a may be arranged on the outside of themain body 302.

The multi-joint robot 20′ includes the two manipulator units 20A and20B, the gripping unit 20 ac, the hand 20Bc, a force sensor 20Ad, and amovable unit 301. The two manipulator units 20A and 20B are attached tothe movable unit 301. The movable unit 301 is attached to the main body302. The image pickup apparatus 30 is attached to the distal end of thehand 20Bc.

As in the first to third embodiments, the force sensor 20Ad detectsforces and moments applied to the gripping unit 20 ac.

The image pickup device 30 outputs picked-up image data to the robotcontrol apparatus 10 a.

The main body 302 includes conveying sections 303A and 303B to enablethe robot apparatus 1 a to move. The main body 302 includes the robotcontrol apparatus 10 a.

The conveying sections 303A and 303B are, for example, wheels orcaterpillars.

In this embodiment, the robot control apparatus 10 a controls the imagepickup apparatus 30, which is attached to the hand 20Bc, to move to aposition where the image pickup apparatus 30 can pick up a contact stateof the first component 200 and the second component 210 explained in thefirst to third embodiments.

Subsequently, the robot control apparatus 10 a discriminates the contactstate of the first component 200 and the second component 210 usingdetection values (after and before discretization) detected by the forcesensor 20Ad and the image data picked up by the image pickup apparatus30.

As in the first to third embodiments, the robot control apparatus 10 acontrols the contact state of the first component 200 and the secondcomponent 210 on the basis of a result of the discrimination andcontrols the first component 200 to be fit in the hole 211 of the secondcomponent 210.

As explained above, as in the first to third embodiments, the robotapparatus 1 a according to this embodiment determines the contact stateof the first component 200 and the second component 210 on the basis ofthe detection values detected by the force sensor 20Ad. The robotapparatus la according to this embodiment selects, according to thedetermined contact state, transition information stored in the tablestoring unit 103 and controls the contact state of the first component200 and the second component 210. As a result, according to thisembodiment, it is possible to fit in the first component 200 and thesecond component 210 each other even if the hole 211 of the secondcomponent 210 is not chamfered.

In the example explained in the fourth embodiment, the image pickupapparatus 30 is attached to the hand 20Bc of the manipulator unit 20B.However, an attachment position of the image pickup apparatus 30 is notlimited to this. As in the first to third embodiments, the image pickupapparatus 30 may be provided in a position where the image pickupapparatus 30 can pick up an image of the contact state of the firstcomponent 200 and the second component 210. In this case, the hand 20Bcmay be a gripping unit.

In the example explained in the first to third embodiments, the grippingunit 20 c (including the gripping unit 20 ac) grips the first component200 and fits the first component 200 in the hole 211 of the secondcomponent 210. However, the gripping and the fitting of the firstcomponent 200 are not limited to this. The gripping unit 20 c (includingthe gripping unit 20 ac) may grip the second component 210 and controlthe second component 210 to be fit in the first component 200. In thiscase, likewise, detection values and transition information of the forcesensor for each of contact states of the first component 200 and thesecond component 210 may be stored in the table storing unit 103 inadvance. The robot control apparatus 10 may control a contact state ofthe first component 200 and the second component 210 using the storedinformation to control the first component 200 to be inserted into thehole 211 of the second component 210.

In the example explained in the first to fourth embodiments, thedetection values (before and after ternarization) detected by the forcesensor 20 d for each of the contact states stored in the table storingunit 103 are measured and stored. However, the detection values are notlimited to this. The detection values (before and after discretization)detected by the force sensor 20 d for each of the contact states storedin the table storing unit 103 may be calculated by numerical calculationor analytical calculation using a physical model and stored.

In the first to fourth embodiments, the robot apparatus 1 (including therobot apparatus 1 a) may be, for example, a scalar robot.

A part of the functions of the robot control apparatuses 10 and 10 aaccording to the embodiments may be realized by a computer. In thiscase, the functions may be realized by recording a position detectingprogram for realizing the control functions in a computer-readablerecording medium, causing a computer system to read the positiondetecting program recorded in the recording medium, and executing theposition detecting program. The “computer system” includes an OS(Operating System) and hardware of peripheral apparatuses. The“computer-readable recording medium” refers to a portable recordingmedium such as a flexible disk, a magneto-optical disk, an optical disk,or a memory card or a storage device such as a magnetic hard diskincorporated in the computer system. Further, the “computer-readablerecording medium” may include a recording medium that dynamicallyretains a computer program for a short time like a communication linefor transmitting the computer program via a network such as the Internetor a communication line such as a telephone line or a recording mediumthat retains the computer program for a fixed time like a volatilememory provided on the inside of a server apparatus or the computersystem functioning as a client in the case of the transmission of thecomputer program. The computer program may be a computer program forrealizing a part of the functions or may be a computer program forrealizing the functions while being combined with a computer programalready recorded in the computer system.

The entire disclosure of Japanese Patent Application No. 2012-020321filed Feb. 1, 2012 is expressly incorporated by reference herein.

1. A robot apparatus comprising: a gripping unit configured to grip afirst component; a force sensor configured to detect, as detectionvalues, a force and a moment acting on the gripping unit; a storing unithaving stored therein contact states of the first component and a secondcomponent and transition information in association with each other; aselecting unit configured to discriminate, on the basis of the detectionvalues, a contact state of the first component and the second componentand select, on the basis of a result of the discrimination, thetransition information stored in the storing unit; and a control unitconfigured to control the gripping unit on the basis of the transitioninformation selected by the selecting unit.
 2. The robot apparatusaccording to claim 1, wherein the transition information includesinformation for sequentially transitioning the first component to setthe first component in a first contact state with the second component,after the first contact state, set the first component in a secondcontact state with the second component, after the second contact state,set the first component in a third contact state with a surface of ahole of the second component, and, after the third contact state, attachthe first component to the hole of the second component along a surfaceon which the hole of the second component is provided.
 3. The robotapparatus according to claim 1, wherein in the storing unit, a pluralityof sets of first detection values, which are the detection valuesdetected in advance, and the contact states are stored in associationwith each other and a plurality of sets of the transition informationand control values for controlling the gripping unit are stored inassociation with each other, and the control unit selects, on the basisof the transition information selected by the selecting unit, thecontrol value stored in the storing unit and controls the gripping uniton the basis of the selected control value.
 4. The robot apparatusaccording to claim 3, wherein the selecting unit compares the detectionvalues and the first detection values stored in the storing unit anddiscriminates the contact state of the first component and the secondcomponent.
 5. The robot apparatus according to claim 4, furthercomprising a discretizing unit configured to discretize the detectionvalues, wherein the discretizing unit discretizes the first detectionvalues for each of the contact states of the first component and thesecond component in advance, causes the storing unit to store the firstdetection values as second detection values, which are detection valuesafter the discretization, and outputs the detection values after thediscretization obtained by discretizing the detection values to theselecting unit during control of the contact state of the firstcomponent and the second component, and the selecting unit compares thedetection values after the discretization and the second detectionvalues and discriminates the contact state of the first component andthe second component on the basis of the comparison results.
 6. Therobot apparatus according to claim 5, wherein the discretizing unitternarizes the detection values in an object coordinate system withrespect to the first component and ternarizes the detection values in anabsolute coordinate system with respect to the second component.
 7. Therobot apparatus according to claim 5, wherein, when there are aplurality of the second detection values coinciding with the detectionvalues after the discretization, the selecting unit compares thedetection values and the first detection values and discriminates thecontact state of the first component and the second component.
 8. Therobot apparatus according to claim 6, wherein, in the storing unit,third detection values, which are detection values after discretizationof the first detection values in the absolute coordinate system, fourthdetection values, which are detection values after discretization of thefirst values in the object coordinate system, the first detectionvalues, a plurality of kinds of the transition information, and aplurality of the control values are stored in association with oneanother for each of the contact states, and in the absolute coordinatesystem, when the detection values after the discretization and the thirddetection values are compared, if there are a plurality of the thirddetection values coinciding with the detection values after thediscretization, the selecting unit compares the detection values afterthe discretization in the object coordinate system and the fourthdetection values and discriminates the contact state of the firstcomponent and the second component.
 9. The robot apparatus according toclaim 1, further comprising an image pickup apparatus configured to pickup an image of the contact state of the first component and the secondcomponent, wherein the selecting unit identifies states of the firstcomponent and the second component on the basis of the image picked upby the image pickup apparatus.
 10. The robot apparatus according toclaim 1, further comprising: a first arm to which the gripping unit isattached; a second arm to which the gripping unit or an image pickupapparatus is attached, the image pickup apparatus being configured topick up an image of the contact state of the first component and thesecond component; a main body to which the first arm and the second armare attached; and a conveying unit attached to the main body.
 11. Anassembling method in a robot apparatus comprising: allowing a selectingunit to discriminate, on the basis of detection values output by a forcesensor detecting a force and a moment acting on a gripping unitconfigured to grip a first component, a contact state of the firstcomponent and the second component, and select, on the basis of a resultof the discrimination, transition information stored in a storing unitin association with the contact state; and allowing a control unit tocontrol the gripping unit on the basis of the selected transitioninformation.
 12. A recording medium having stored therein an assemblingprogram that causes a computer, which controls a robot, to execute:discriminating, on the basis of detection values output by a forcesensor detecting a force and a moment acting on a gripping unitconfigured to grip a first component, a contact state of the firstcomponent and the second component and selecting, on the basis of aresult of the discrimination, transition information stored in a storingunit in association with the contact state; and controlling the grippingunit on the basis of the selected transition information.
 13. The robotapparatus according to claim 2, wherein in the storing unit, a pluralityof sets of first detection values, which are the detection valuesdetected in advance, and the contact states are stored in associationwith each other and a plurality of sets of the transition informationand control values for controlling the gripping unit are stored inassociation with each other, and the control unit selects, on the basisof the transition information selected by the selecting unit, thecontrol value stored in the storing unit and controls the gripping uniton the basis of the selected control value.
 14. The robot apparatusaccording to claim 13, wherein the selecting unit compares the detectionvalues and the first detection values stored in the storing unit anddiscriminates the contact state of the first component and the secondcomponent.
 15. The robot apparatus according to claim 14, furthercomprising a discretizing unit configured to discretize the detectionvalues, wherein the discretizing unit discretizes the first detectionvalues for each of the contact states of the first component and thesecond component in advance, causes the storing unit to store the firstdetection values as second detection values, which are detection valuesafter the discretization, and outputs the detection values after thediscretization obtained by discretizing the detection values to theselecting unit during control of the contact state of the firstcomponent and the second component, and the selecting unit compares thedetection values after the discretization and the second detectionvalues and discriminates the contact state of the first component andthe second component on the basis of the comparison results.
 16. Therobot apparatus according to claim 15, wherein the discretizing unitternarizes the detection values in an object coordinate system withrespect to the first component and ternarizes the detection values in anabsolute coordinate system with respect to the second component.
 17. Therobot apparatus according to claim 15, wherein, when there are aplurality of the second detection values coinciding with the detectionvalues after the discretization, the selecting unit compares thedetection values and the first detection values and discriminates thecontact state of the first component and the second component.
 18. Therobot apparatus according to claim 16, wherein, in the storing unit,third detection values, which are detection values after discretizationof the first detection values in the absolute coordinate system, fourthdetection values, which are detection values after discretization of thefirst values in the object coordinate system, the first detectionvalues, a plurality of kinds of the transition information, and aplurality of the control values are stored in association with oneanother for each of the contact states, and in the absolute coordinatesystem, when the detection values after the discretization and the thirddetection values are compared, if there are a plurality of the thirddetection values coinciding with the detection values after thediscretization, the selecting unit compares the detection values afterthe discretization in the object coordinate system and the fourthdetection values and discriminates the contact state of the firstcomponent and the second component.